【发布时间】:2012-05-12 16:06:12
【问题描述】:
我知道这有点主观,但我正在调查以下情况:
我需要从 SQL Server 数据库中的数据自动生成一些文档。将有一个 MVC3 应用程序放在数据库上以允许数据输入等,并且(可能)一个“开始”按钮来生成文档。
需要有一些关于如何创建、命名和存储这些文档的业务逻辑(例如,“父”文档获取一个名称并进入一个文件夹,“子”文档获取一个计算名称并进入一个子文件夹.
文档可以是 PDF 或 Doc(x)(或两者兼有),只要输出可以是 EN-US 和 AR-QA(RTL 文本)
我知道 SSRS、Crystal Reports、VSTO、代码中的“手动”PDF、word 邮件合并等有很多选项......如果有任何用处,我们已经有了 HTML 到 PDF 工具?
对于如何实现这一点以及“最好的”(最务实的)方法是什么,是否有人有任何现实世界的建议?我需要在服务器上安装和配置的“额外”越少越好 - 开发越快越好(一如既往!!)
目前的调查结果:
Word 邮件合并(或 VSTO) 根本没有提供我需要的简单性、控制性和灵活性——真的很丢脸。最好定义一个 dotx 并能够单独将数据传递给它以生成 docx。我能做到这一点的唯一方法(我可能在这里错了)是按名称循环通过控件/书签并替换值......混乱。
OpenXML 基于 dotx 模板创建文档,即使使用 OpenXML 也不像(恕我直言)应该的那么简单。您必须按名称替换每个内容控件,因此维护不是最简单的任务。
SSRS 从表面上看,这是一个很好的解决方案(尽管它需要 SQL Enterprise),但是如果您想动态生成文件夹和文档,它会变得更加复杂。数据驱动的订阅非常接近我想要的。
Winnovative HTML 到 PDF 转换器* 这是我们已经拥有的工具(尽管是 .Net 2.0 版本)。这使我可以生成 HTML 页面并将其转换为 PDF。对我来说是一个不错的选择,因为我可以在 MVC3 网站上运行它并将参数传递给控制器以生成 PDF。这让我可以更精细地控制文件夹和命名结构——这种方法的问题只是以正确的方式生成页面。一个好处是它会自动给我一个“预览”...基本上只是 HTML 页面!
【问题讨论】:
-
它真的是 SSRS 中的 Data-Driven subscription(需要企业版)还是只是按需报告?我认为您可以使用嵌入式 RS 客户端直接呈现为 PDF 或 Word,或者只是在您的网页中向用户展示报告并允许他们指导保存操作。
-
对于单个报告,这会很好,但最终结果(在这种情况下)是多级报告的层次结构。基本上,我们需要为我们的所有客户、他们的股东、董事会成员和子公司——包括他们的股东、董事会成员等,为监管机构制作具体的报告。有关于每个报告的级别等的规则。
-
很高兴您编辑原始帖子作为参考。您是否碰巧查看过 Silverlight 和 WPF 等技术的功能?
-
不,没有超出上面的列表……基本上和我们已有的一样,但升级到了.Net 4.0版本。
标签: c# sql-server-2008 ssis pdf-generation ms-office