从PHP站点修改PDF表单

从PHP站点修改PDF表单,php,pdf,pdf-generation,itext,pdf-form,Php,Pdf,Pdf Generation,Itext,Pdf Form,我们目前使用PDForm获取一个空白pdf文件(没有值,只有表单字段和文本)并列出表单字段。然后,我们查询数据库中与这些字段名匹配的值,并使用新填充的数据创建一个pdf文件,用户可以从我们的站点下载这些数据。问题是PDForm每台机器大约5000美元,我们正在迁移服务器。我们需要一个得到社区积极支持和推荐的替代方案 我知道Zend正在开发PDF操作扩展,但我们需要一些快速的东西。我已经用PDFtk做了测试,但该项目的最后一次更新是在2006年,现在它似乎已经死了。这将是好的,因为它是开源的,但是

我们目前使用PDForm获取一个空白pdf文件(没有值,只有表单字段和文本)并列出表单字段。然后,我们查询数据库中与这些字段名匹配的值,并使用新填充的数据创建一个pdf文件,用户可以从我们的站点下载这些数据。问题是PDForm每台机器大约5000美元,我们正在迁移服务器。我们需要一个得到社区积极支持和推荐的替代方案

我知道Zend正在开发PDF操作扩展,但我们需要一些快速的东西。我已经用PDFtk做了测试,但该项目的最后一次更新是在2006年,现在它似乎已经死了。这将是好的,因为它是开源的,但是它似乎会导致某些文件出现错误,这些文件似乎是由PDFPenPro(我们的pdf表单创建者)生成的

我想到的另一个解决方案是,为什么不使用iText并编写一个接受命令行输入的java包装器,以便PHP可以使用passthru()或exec()调用它。如果我们完全重写代码,还有其他应用程序可以工作,但我们不想这样做

我们需要什么

  • PHP接收PDF表单字段名的能力
  • PHP,然后创建和FDF文件(然后将其与PDF合并),或者将字符串发送到命令行应用程序,该应用程序将使用数据库中的值填充字段
  • 然后,用户可以下载新创建的带有填充表单字段的PDF文件

  • 通过创建一个java命令行应用程序,使用iText解析和创建PHP指定的PDF文件,或者有人知道任何经济高效的替代方案吗?

    我不知道许可证成本在$1k到$3k之间的其他产品是否可以被视为“经济高效”,但是工作得很好。如果您不需要PPS功能,它确实会变得更便宜。

    似乎拥有我迄今为止见过的最强大的功能集。

    谢谢d2burke,关于TCPDF的提示。我并不想做的像OP那样多,但是可以用来生成任何pdf格式的软件包的价格在2到3千美元之间。TCPDF是基于php的开源软件,开发它的人非常支持


    总是给这些家伙捐款!如果没有它,web开发在世界何处?

    因此,由于TCPDF不能以我们希望的方式处理表单,并且由于PDFlib将表单字段转换为块,因此,我们决定为iText创建一个命令行包装器,它将从PDF中获取表单字段名称,然后填充它们基于数据库值。

    这是Windows还是Linux上的PHP?你有PDForm的链接吗?我对它不熟悉。我不相信你会在商业产品中使用iText,除非你向他们支付一笔费用,这会使你从AGPL许可证中解脱出来。查看他们的网站了解更多详细信息。他们在去年年底更改了许可证。这是针对linux的。我们在看许可证,这意味着作为AGPL,我们只需要使包装器开源。如果我们想保持包装器的源代码关闭,那时候我们需要购买商业许可证。@Rowan我查看了TCPDF,但没有看到获取所有表单字段列表以及用值填充现有表单字段的任何选项。我是否忽略了什么?我们已经查看了PDFLib,但没有发现它的成本效益,因为我们需要生产服务器、开发服务器和本地开发环境的许可证,这意味着我们需要大约7个不同的许可证。实际上,您可以在任意多台开发机器上使用PDFLib,只要只有开发人员可以访问,并且它与生产机器位于同一操作系统上。但除此之外,是的,这是一段相当昂贵的代码。你是对的。我在想别的事情。我们决定不使用PDFlib的原因是它没有编辑表单字段,而是将表单字段转换为块。我们需要字段保持完整,以便在创建pdf字段后需要向其添加更多信息。您编写的命令行包装器是开源的吗?如果是-你能提供链接吗?@o15a3d4l11s2我不再为拥有该代码的公司工作。我可以检查我的另一台笔记本电脑(目前处于关机状态),看看那里是否有备份。