13

我知道这有点主观,但我正在调查以下情况:

我需要从 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 页面!

4

3 回答 3

4

Office OpenXML 是一种生成办公文件的好方法和简单的方法。XSLT 可以成为格式化内容的强大工具。这项技术不会让您创建 pdf。

不使用任何第三方组件的快速开发将很困难。但如果您确实考虑使用报表服务器,请务必查看 BIRT 或 Jasper。

要生成 pdf,我一直在使用已弃用的 Report.net。它有许多不同语言的端口,仍然足以制作简单的 pdf。sourceforge 上的 Report.net

于 2012-05-03T08:07:12.357 回答
2

我不认为 SQL Server 本身可以生成 pdf 文件。正如您所提到的,您可以做的是安装一个 SSRS 实例并创建一个生成您需要的信息的报告。然后,您可以创建订阅,以便在您想要的时间将您的报告发送到您想要的位置。

这是一个简单订阅的示例: 在此处输入图像描述

于 2012-05-03T08:30:04.237 回答
0

仅当您可以在服务器上设置它并且确实需要计划报告和复杂报告时才选择 SSRS。

如果您有手动生成 PDF/docx 的代码,我建议您继续使用它。希望其代码的复杂性与您无关。

我在不同的场景中都使用过。我们使用 .NET 中的 excel 类和对象从 Web 应用程序中生成最小报告。

但是为一个需要以预定方式生成 1000 份报告并交付给选定的一组人的系统制定了一个精心设计的报告方案。

于 2012-05-03T10:20:51.287 回答