我知道这有点主观,但我正在调查以下情况:
我需要从 SQL Server 数据库中的数据自动生成一些文档。数据库上将有一个 MVC3 应用程序以允许数据输入等,并且(可能)有一个“开始”按钮来生成文档。
需要有一些关于如何创建、命名和存储这些文档的业务逻辑(例如,“父”文档获取一个名称并进入一个文件夹,“子”文档获取一个计算名称并进入子文件夹。
文档可以是 PDF 或 Doc(x)(甚至两者兼有),只要输出可以是 EN-US 和 AR-QA(RTL 文本)
我知道 SSRS、Crystal Reports、VSTO、代码中的“手动”PDF、文字邮件合并等有很多选项……如果那有什么用,我们已经有了 HTML 到 PDF 工具?
有没有人对如何解决这个问题以及“最好的”(最务实的)方法有什么真实的建议?我需要在服务器上安装和配置的“额外”越少越好 - 开发越快越好(一如既往!!)
迄今为止的发现:
Word Mail Merge(或 VSTO) 根本没有提供我需要的简单性、控制性和灵活性——真是太可惜了。最好定义一个 dotx 并能够单独将数据传递给它以生成 docx。我可以实现这一点的唯一方法(我可能在这里错了)是按名称循环通过控件/书签并替换值......混乱。
OpenXML 基于 dotx 模板创建文档,即使使用 OpenXML 也不像(恕我直言)应该的那么简单。您必须按名称替换每个内容控件,因此维护不是最简单的任务。
SSRS 从表面上看,这是一个很好的解决方案(尽管它需要 SQL Enterprise),但是如果您想动态生成文件夹和文档,它会变得更加复杂。数据驱动的订阅非常接近我想要的。
Winnovative HTML to PDF Converter* 这是我们已经拥有的工具(尽管是 .Net 2.0 版本)。这使我可以生成 HTML 页面并将其转换为 PDF。对我来说是一个不错的选择,因为我可以在 MVC3 网站上运行它并将参数传递给控制器以生成 PDF。这让我可以更精细地控制文件夹和命名结构——这种方法的问题只是以正确的方式生成页面。一个好处是它会自动给我一个“预览”......基本上只是 HTML 页面!