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

目前,我们使用MS WORD和MS EXCEL来发送需要发送给多个收件人的合并文档。

例如,有一个投诉表格,投诉人需要填写他/她的姓名,地址等。因此,我们有一个.doc文件,设置内容和为邮件合并设置的dynamic实体,名称和地址的详细信息放在一个Excel文件,从那里我们可以愉快地邮件合并生成全部或只是必要的表格/文件。

不过,我想自动化这个过程,就像投诉人填写他/她的姓名,地址和其他细节的网站表格一样,我们可以自动生成投诉表格并提供下载(最好作为pdf)。

现在,想到的唯一解决scheme是Latex,所以我可以只replace所需的实体,并编译成PDF。 但是,如果他们提供Latex,那么这个位必须和Webhost协商。

有没有其他解决scheme? 任何其他方式,我们可以做到这一点,对于大多数虚拟主机解决scheme提供的东西不应该是一个问题?

编辑:我宁愿一个非.NET或非微软的解决scheme,因为,服务器正在运行的Linux,而单声道可能能够完成工作,我们的开发人员都不知道任何.NET语言。 但是,如果需要的话,我们可能不得不忍受。

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

您需要创build一个带有必需字段的XML文件,并使用此工具进行转换。

如果你想避免.NET,那么XSL-FO值得一看。 尝试FOray项目。 如果您还没有经验,XSLT可以是一个陡峭的学习。 另外,用户无需要求XSLT专家就可以更改模板。

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

Apache FOP: http : //xmlgraphics.apache.org/fop/

我build议在服务器上生成rtf:使用cpan的RTF :: Writer自动生成足够简单,具有生成好PDF的转换器,可以通过单词,oo-writer和TextEdit进行编辑,没有任何非常差的兼容性问题在主要的编辑应用程序之间,并有良好的文本和资源提取工具,文本提取比PDF更好。

虽然最好的rtf – > latex转换器docx2tex取决于System.IO.Packaging .net模块,但它的单声道实现还没有稳定性 ,所以有一些支持在rtf和latex之间移动。

后记 – 不是一个推荐:这个工作太笨重,但iText会直接从表单数据生成pdf。 如果你想做像签名pdf这样的花式东西,那将是一条路。

后记#2 – 如果您使用Word的主文档表示将Word文档拆分为单个文件,则可以用手工生成的内容来打破其中一个部分。 这使得只需使用标准的文件-utils和一些简单的rtf-> doc调整,就可以轻松地完成word.doc文件的表格填充。