带有PDF输出的PHP PDF模板库?[已关闭]

2022-08-30 09:37:21

是否有任何PHP PDF库可以替换现有PDF,ODT或DOCX文档中的占位符变量,并生成PDF文件作为最终结果,而不会搞砸布局?

要求:

  • 无需第三方网络服务

  • 能够在共享虚拟主机上运行将是理想的(无需二进制安装/软件包)

请注意,能够加载现有PDF文件并以编程方式在特定位置插入文本的库对于我的用例来说是不够的

据我所知,没有一个图书馆可以做到这一点:

  • TCPDF只能从头开始生成文档

  • FPDI 可以读取现有的 PDF 模板,但只能以编程方式添加内容(无需替换模板变量)

  • 有各种DOCX / ODT模板库,但它们不输出PDF

PHPDOCx声称能够完全做我需要的事情 - 但他们不提供试用版,我也不会在袋子里买猫,特别是当网络上似乎没有其他产品可以做到这一点时。我发现很难相信他们可以毫无问题地做到这一点 - 如果你已经成功地使用产品做到了这一点,请在这里留言。

我是否忽略了什么?

有没有办法使用PDF表单来做到这一点?我正在OpenOffice 3中创建源文档。

我也许可以使用标准的Linux命令(例如,现在就可以尝试一下。pdftk

更新: *啊!*我被叫出办公室,赏金在此期间到期。开始新的赏金:就我的测试显示的那样,还没有一个解决方案对我完全有效。

更新二:我很快就会寻找pdftk方法,但我也开始了另一轮奖励,以收集额外的输入。这个问题现在已经看到了1300个代表点的赏金,一定是某种创纪录的:)


答案 1

这并不是很实用,但为了完整性:如果您已经有一个ODT模板,那么您很可能会将其保留为模板。修改 OpenDocument 内容.xml并替换其中的占位符非常简单。如果是这样,您可以使用 unoconvpyodconverter 将 ODT 转换为最终的 PDF。

unoconv -f pdf -o final.pdf template.odt

很明显,这需要在Web服务器上进行完整的OpenOffice设置(UNO和Writer)。显然,不是每个网络托管商都会这样做!哈哈。即使它在任何 Debian 或 Fedora 设置上都很简单。执行速度可能也不是很好。但这可能是最干净的方法,因为OOo对这种格式的管理比任何PHP类都要好。


答案 2

佩卡,

我之前看过这个,我认为你可以使用pdftk(命令行实用程序)来填写使用FDF / XFDF数据文件的PDF表单,你可以从PHP中轻松生成。这是我迄今为止看到的最好的选择,尽管很可能有一个原生库。

pdftk总体上非常有用,值得一看。

更新:看看这里:http://php.net/manual/en/book.fdf.php


推荐