如何在服务器上最好地将信息合并到一个"表单"中,并生成PDF作为最终输出

时间:2020-03-05 18:50:55  来源:igfitidea点击:

背景:

我有一个"继承"的VB6应用程序,该应用程序生成PDF,供用户使用不受支持的Acrobat Reader OCX集成进行查看。该程序将使用数据生成一个FDF文件,然后在将FDF与PDF合并时呈现合并的结果。它只能与Acrobat Reader 4一起正常使用:-(.。安装较新版本的Acrobat Reader会破坏此应用程序,使用户感到非常不满意。

我想重新设计该应用程序,以便它将要合并的数据发送到PDF输出生成服务器。该服务器将传递给它的数据合并到表单上,生成该表单的PDF图像,然后存储它,以便希望查看最终结果的任何用户都可以简单地获取PDF(仅生成一次)。如果基础数据发生更改,则下次请求时,PDF将被删除并重新生成。然后,客户端程序可以具有他们希望的任何版本的Acrobat Reader,因为它将专门用于显示PDF文件(按预期方式)。该服务器很可能是使用Visual Studio 2005用.NET(C#)编写的,可能是作为Web Service编写的。

问题:

别人会怎么建议我去做这个?我是否应该在服务器上使用Adobe的Acrobat 9将数据放入FDF或者Adobe的XML格式,然后让Acrobat进行合并?在"将数据合并到表单并输出PDF"空间中,是否存在强大的竞争对手?别人怎么做?当然,它必须基于API,服务器上没有GUI。

通过FDF / PDF生成一些输出时,应用程序的另一部分实际上一次将一行,图形和文本发送到打印机(或者用于预览的表单)一页,并给出正确的x / y坐标,字体,大小等信息,知道何时在页面末尾等。此代码当前在程序中显示给用户查看,并且也在程序中将最终表格打印到页面上。打印机。为了使审阅者和打印机之间保持一致,我也想将此输出生成逻辑也移到服务器上,或者使用良好的PDF生成API工具或者按原样使用代码,然后使用PDF打印机生成PDF ...并保存此PDF供客户显示。

谷歌搜索"表单软件"或者"填写表单软件"或者类似的搜索会返回很多无关的材料,大多数与用户填写表单的UI有关,我只是不知道如何适当缩小搜索范围。这个站点似乎是一个提出此类问题的理想场所,因为其他程序员还必须生成类似的输出,并且已经尝试了一些出色的工具。

编辑:

我添加了PDF标签以及PDF生成。
另外,我目前的客户坚持使用PDF输出,但是我很欣赏其他建议。

解决方案

回答

听我的劝告。抛弃XPS的PDF。我正在开发两个基于服务器的应用程序。一个在浏览器中将基于图像的文档显示为PDF。第二种使用FixedPage模板构造绑定到数据源的XPS文档。

在两个项目上工作后,我得出的结论是PDF很烂。 XPS文件较少。我们必须为一个不错的PDF库支付现金,而XPS随框架一起提供。 PDF文档的生成是一项耗时的工作,有很多漏洞,而且对服务器不是很友好。 XPS文档的占地面积小得多,脚掌射击的机会也更少。

回答

我在使用Microsoft Word方面取得了巨大的成功。该表单是用Word设计的,并与XML数据组合在一起。该文档通过PDF转换器(在这种情况下为Neevia,但更好)运行,以生成PDF。

所有这些都是在C#中完成的。

回答

无法提供VB6解决方案,可以提供服务器上的.net或者Java解决方案。
从http://www.lowagie.com/iText/获取iText或者iTextSharp。
它具有PdfStamper类,可以合并PDF和FDF FDFReader / FDFWriter类以生成FDF文件,从PDF文件中获取字段名称,等等。

回答

同一条船。我们目前正在以这种方式制作pdf文件:vb6应用程序将一条记录放入sql中(带有文件名,创建日期,用户和最终目的地),并且xls(或者doc)被移至服务器目录(共享)中,并且服务器具有vb.net服务具有监视该目录的文件监视程序。文件显示出来,服务启动excel(word)以通过Adobe通过pdf来文件,通过sql查找出处理PDF时的处理方式,并记录完成时间。

这是一种廉价的解决方案,它只花了一天的时间来编写代码,又花了一天的时间调试两端并推出了该构建。

这不是做到这一点的方法。尝试制作pdf时,Adobe随机崩溃。它会运行两周,完全没有问题,然后(像今天一样)每5分钟崩溃一次。或者每隔一个小时。或者在11:07、2:43、3:05和6:11.

在下一个版本中,我们将使用Excel和word转换出内容,然后使用PDFTron将数据直接放入pdf。是的,PDFTron会花钱,(我们购买了每处理器1公斤的许可证),但是它将很好地完成工作。 XPS很好,但我和我们一样,必须提供PDF。这是事物的方式。

查看pdfTron(将其谷歌搜索),看看它是否能满足要求。然后,我们只需要弄清楚所需的许可证以及付款方式。如果有人提出了更好的建议,希望他们将其投票到列表的顶部!!!