带有PDF输出的PHP PDF模板库?

带有PDF输出的PHP PDF模板库?,php,pdf,odt,Php,Pdf,Odt,是否有任何PHP PDF库可以替换现有PDF、ODT或DOCX文档中的占位符变量,并生成PDF文件作为最终结果,而不会破坏布局 要求: 不需要第三方web服务 能够在共享web主机上运行将是理想的(无需二进制安装/软件包) 请注意,对于我的用例来说,能够加载现有PDF文件并以编程方式在特定位置插入文本的库是不够的 据我的研究显示,没有图书馆可以做到这一点: TCPDF只能从头开始生成文档 FPDI可以读取现有的PDF模板,但只能以编程方式添加内容(无模板变量替换) 有各种各样的DOCX/O

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

要求:

  • 不需要第三方web服务

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

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

据我的研究显示,没有图书馆可以做到这一点:

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

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

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

声称能够完全满足我的需求——但他们没有提供试用版,我也不打算买一只装在袋子里的猫,尤其是当网络上似乎没有其他产品可以做到这一点的时候。我很难相信他们可以做到这一点而不出问题-如果你已经成功地使用该产品,请在这里写一行

我是不是忽略了什么

有没有一种使用PDF表单的方法?我正在OpenOffice 3中创建源文档

我可能能够使用标准的Linux命令(
pdftk
可以使用,例如,现在就试用一下。)

更新:*Argh!*我被叫出办公室,同时赏金也过期了。开始一个新的悬赏:据我的测试显示,还没有一个解决方案能完全适合我

更新II:我将很快寻找pdftk方法,但我也将开始另一轮悬赏,以获得更多的投入。这个问题现在已经获得了1300个代表点的奖金,一定是某种记录:)

佩卡

我在前面研究过这个问题,我认为您可以使用(一个命令行实用程序)使用FDF/XFDF数据文件填写PDF表单,您可以在PHP中轻松生成这些文件。这是迄今为止我见过的最好的选择,尽管可能有一个本地库

pdftk通常非常有用,值得一看


更新:看看这里:

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

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

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

您考虑过使用类似XSL:Formatting Objects(XSL:FO)的东西吗?基本上,它们是经过处理并转换为PDF的XML文档。在其中进行字符串或更好的DOM替换应该非常简单。它支持嵌入图像、链接、注释等

它不是PHP,但是有很多PHP包装,以及通过exec使用它的方法,等等。这不是一个理想的方法,但是它完全照顾到了模板部分。有关更多信息:


有一个实现,作为一个Apache项目-

虽然不是你所要求的,但是你可以考虑用两个步骤来实现:使用一些PHP模板系统(,)来生成HTML页面,然后使用像把它转换成PDF的工具。我正在使用它,结果很好(页面布局等没有问题)


当然,这取决于您的输入文档(您可以使用html而不是PDF/ODT作为源文件)以及这些文档布局的复杂性。

fpdf并且它上面还有另一个扩展,我不记得了,它允许您导入模板。

您最好的选择是动态生成整个文档,使用fpdf或类似的程序定义模板。这样,您的文本就不会被段落或类似的内容截断,您可以根据需要轻松地定位图像/其他元素。

好的,我正在尝试帮助您解决一点问题

首先回答你的两个问题

我是否忽略了什么

没有。有一个PHP PDF库可以替换现有PDF中的占位符变量,并生成一个PDF文件作为最终结果,而不会破坏布局

问:有没有一种方法可以使用PDF表单来实现这一点

A-是的。要做到这一点,最基本的方法是使用PDF表单

对于这两个答案,您可以使用Justin Koivisto填充pdf表单字段php库。 有关更多详细信息,请访问。 请查看此处以获取更多信息

贾斯汀·科维斯托的工作值得称赞

附言

用于从pdf表单显示类似表格的输出的解决方法
请考虑对

< P>进行一些阅读,因为FDF PHP扩展已经失效,我将添加这个新的答案。< /P> 我刚刚执行了一个perl脚本,然后执行了pdftk命令

我很清楚它远不是一个真正的PHP解决方案,但它是可靠的,并且在任何*nix平台上都很容易实现


这里描述的工具也可以在Debian上使用,以防万一。后来,您可以使用开源模板设计器,在任何现有PDF上定义pkaceholders/area,然后以PHP(JSON格式)加载它,并使用fpdf lib在原始PDF上相应地编写,生成带有动态数据的自定义PDF。

这是一个