有一个包含数百个数据项的数据列表(假设每个数据项是一个客户),以及一个预定义的word文档作为模板,要求是 - 对于每个数据项,将相应的数据填充到模板字段中,并生成一个只读的PDF文件结果。
首选平台是带有 C# 的 ASP.NET。
我找到了两个解决方案:
将 word 文档转换为 PDF 表单,并使用 iTextSharp 填充表单域。但是创建具有正确格式(字体、布局等)的 PDF 表单是一项艰巨的工作,并且当系统用户想要添加新模板时需要特定的工具和新技能(除非 PDF 表单总是由开发人员创建)。
在word文件中添加文本占位符,程序可以读取word文件,替换文本,转换成PDF。但我不确定应该使用哪些组件。
我想就这个问题得到一些建议。tks。
更新 20130416:
经过一番搜索和实验,我的结论如下:
客户端解决方案:使用Microsoft.Office.Interop.Word(Office2007+plugin或Office2012)读取数据,转换为pdf等。但是这种方法运行在服务器端可能不安全。
服务器解决方案:
- 制作 PDF 表单,并使用 iTextSharp 填写表单字段。缺点上面已经说了。
- 制作 HTML 模板,替换字段占位符,使用 iTextSharp+XMLWorker 将 HTML 转换为 PDF。难点在于手动创建HTML模板并优化PDF效果。
- MS SharePoint Office 自动化服务是基于 MS Office 的服务器解决方案,也许这种方法会更简单,但它需要许可证和 SharePoint 服务器成本。
最后,我为这个请求选择了 HTML 模板解决方案。QED。