如何以编程方式生成申请表/文件?

时间:2009-12-08 06:32:49

标签: excel templates latex automation ms-word

目前,我们使用MS WORD和MS EXCEL邮寄需要发送给多个接收者的合并文档。

例如,有一个投诉表格,投诉人需要填写他/她的姓名,地址等。所以我们设置了一个.doc文件,其内容和动态实体设置用于邮件合并,将名称和地址详细信息放在excel文件中,从中我们可以愉快地邮寄合并以生成全部或仅包含必要的表单/文档。

但是,我想自动化这个过程,就像网站上的表格,投诉人可以填写他/她的姓名,地址和其他详细信息,我们可以使用它自动生成投诉表格并提供给下载(最好是pdf)。

现在,想到的唯一解决方案是Latex,这样我就可以替换所需的实体并只编译为PDF。但是,如果他们提供Latex或者不提供Latex,那么必须与webhost协商。

还有其他解决方案吗?我们可以通过其他任何方式完成这项任务,对于大多数提供的虚拟主机解决方案来说这应该不是问题吗?

编辑:我更喜欢非.NET或非微软解决方案,因为服务器运行的是Linux,而mono可能能够完成工作,我们的开发人员都不知道任何.NET语言。但是,如果需要,我们可能不得不深入其中。

4 个答案:

答案 0 :(得分:2)

使用XSL生成PDF。请检查以下内容:Apoc XSL-FO

您需要创建一个包含必填字段的XML文件,并使用此工具对其进行转换。

答案 1 :(得分:1)

如果你想避免使用.NET,那么XSL-FO值得一看。试试FOray项目。 如果您没有经验,XSLT可能是一个陡峭的学习。此外,如果没有要求XSLT大师这样做,用户将无法更改模板。

如果您的模板已经在MS Word和MS Excel中,那么我会坚持在服务器上生成MS文档。从OpenXML开始,这些代码现在很容易使用 - 请查看OfficeOpenXMLOpenXMLDeveloper

答案 2 :(得分:1)

我建议在服务器上生成rtf:使用cpan RTF::Writer自动生成,转换器生成良好的pdf,可以手动编辑,oo-writer& TextEdit,主编辑应用程序之间没有任何非常糟糕的兼容性问题,并且具有良好的文本和文本。资源提取工具,文本提取比pdf更好。

支持在rtf和amp;之间移动乳胶,虽然最好的rtf - > latex转换器docx2tex依赖于System.IO.Packaging .net模块,其单声道实现尚未稳固。

Postscript - 不是推荐:对于这项工作而言,这是一个笨重的大锤,但iText将直接从表单数据生成pdf。如果你想做像签名pdf这样的花哨的东西,这将是你要走的路。

Postscript#2 - 如果您使用word的主文档表示将Word文档拆分为单个文件,则可以使用手动生成的内容来破坏其中一个部分。这样就可以很容易地使用标准的文件工具和一些琐碎的rtf-> doc调整来做一些近似于单词.doc文件的表单填充。

答案 3 :(得分:1)