如何从SQL Server生成文档(docx或pdf)?

Blu*_*ppy 12 c# pdf-generation ssis ms-office sql-server-2008

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

我需要从SQL Server数据库中的数据自动生成许多文档.将在数据库上安装一个MVC3应用程序以允许数据输入等,并且(可能)有一个"Go"按钮来生成文档.

需要有一些关于如何创建,命名和存储这些文档的业务逻辑(例如,"父"文档获得一个名称并进入一个文件夹,"子"文档获得计算名称并进入子文件夹.

只要输出可以是EN-US和AR-QA(RTL文本),文档可以是PDF或Doc(x)(甚​​至两者)

我知道SSRS,Crystal Reports,VSTO,代码中的"手动"PDF,单词邮件合并等等有很多选项......如果有任何用途,我们已经有了HTML到PDF工具吗?

有没有人有关于如何解决这个问题以及"最佳"(最实用)方法的真实世界建议?我需要在服务器上安装和配置的"额外"越少越好 - 开发越快越好(一如既往!)


到目前为止的调查结果:

Word Mail Merge(或VSTO) 简直无法提供我所需的简单性,控制性和灵活性 - 真的很遗憾.很高兴定义一个dotx并能够在单独的基础上将数据传递给它以生成docx.只有这样我才能实现这个(我可能在这里错了)是通过名称循环控制/书签并替换值......凌乱.

OpenXML 基于dotx模板创建文档,即使使用OpenXML也不像(恕我直言)那样简单.您必须按名称替换每个Content控件,因此维护不是最简单的任务.

SSRS 从表面上看,这是一个很好的解决方案(尽管它需要SQL Enterprise),但是如果你想动态生成文件夹和文档,它会变得更加复杂.数据驱动的订阅非常接近我想要的.

Winnovative HTML to PDF Convertor* 这是我们已经拥有的工具(尽管是.Net 2.0版本).这允许我生成HTML页面并将其转换为PDF.对我来说这是一个很好的选择,因为我可以在MVC3网站上运行它并将参数传递给控制器​​以生成PDF.这使我对文件夹和命名结构进行了更细粒度的控制 - 这种方法的问题只是以正确的方式生成页面.奖金是它自动给我一个"预览"......基本上只是HTML页面!

Ste*_*ffe 4

Office OpenXML 是一种生成 Office 文件的简单好方法。XSLT 是格式化内容的强大工具。该技术不允许您创建 pdf 文件。

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

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