2011-03-14 91 views
5

我正在寻找在PHP中构建发票和订单生成器生成器的选项。我已经为FPDF和TCPDF之前的其他场合创建了几个PDF,并且都可以正常工作,但是太冗长了,以至于我对此感到厌倦。用PHP替换PDF的一部分

我感觉用任何编程语言生成PDF是超级冗长的。

有没有什么办法可以用Adobe Acrobat生成PDF蓝图,并将它用作可变字段/区域的模板?通过这种方式,例如,我可以让设计师为我创建一个信笺抬头和整体发票主题,我只会将可变部分(订单行,总计,到期日期,买家详细信息)的内容写入pdf。

简单来说,一个准系统模板系统读取pdf并在变量替换后再次输出。

回答

4

您可以使用表单字段创建PDF并替换源中这些字段的内容。您必须更换确切的字符数,否则PDF可能会损坏。在你的情况下,你想添加整个表的地方,这可能是不可行的。

我们做了非常相似的事情,但使用了不同的方法。使用http://www.setasign.de/products/pdf-php-solutions/fpdi/我们加载了PDF,并把我们想要的内容放在最上面(FPDI扩展了TCPDF或FPDF)。

+0

FPDI几乎是使用以前的PDF模板和注释唯一体面的解决方案。就我个人而言,我认为TCPDF更适合扩展。 – Orbling 2011-03-14 12:23:24

1

在某种类型的元语言(如FPDF)中保存模板并生成文档以更好地控制二进制流和孤立PDF中的字形 由于/ dev/null存在,详细程度应该不成问题。

1

听起来像你想要的形式字段。 PDF格式有两种形式:

AcroForms:使用最初嵌入到Acrobat 4.x中的技术创建的表格。& 5.它已经扩展了很多。许多软件可以读取和写入基于AcroForm的PDF。

XFA:新的热点。 Adobe LiveCycle Designer(随Acrobat Pro一起提供)可以为您创建一些真正漂亮的表单,只能用几个库来处理...主要是Adobe自己的。 Adobe的服务器产品是不便宜

您的PDF库du jur也可以让您从现有的PDF中导入页面。您可以在您喜欢的任何应用程序中构建您的PDF“样板”,将其导出为PDF,然后使用PDF库在其上绘制。这可以让你绘制任何你想要的东西,而不仅仅是什么领域让你显示(线条艺术,图像,文本,而不是大多数只是文本)。


也有不少HTML-> PDF库在其中浮动。你可以用HTML构建你的报告,然后把它们翻译成PDF,如果你觉得走这条路线更舒服的话。有些人比其他人好,只有我知道的人会考虑HTML脚本(wkhtmltopdf)。