2

有没有办法在 PHP 中创建 FDF 文件而不使用死的 FDF 函数?我知道您可以使用现有的pdftkFDF 文件创建 PDF ,但我需要先创建 FDF 文件并设置一个字段值。

或者,有没有办法在允许用户下载之前使用 PHP(跳过 FDF 文件创建)在 PDF 中设置一个字段?

无论如何,我尝试使用 PHP 在 PHP 中创建一个 FDF 文件fopen- 没有用。我也知道里面有一个generate_fdf操作pdftk,但这不允许我设置一个特定的值,至少我看不到。

有人知道答案可能是什么吗?我很困。不幸的是,我无法控制告诉客户废弃完整的 PDF(而是使用网络表单)。

4

2 回答 2

2

如果我理解正确,您只是不想特别使用 FDF 库?

你试过 TCPDF 吗?见http://www.tcpdf.org/

如果您想使用现有的 PDF 文件作为模板并且只添加一些值,请使用扩展 TCPDF 的扩展 FPDI:http ://www.setasign.de/products/pdf-php-solutions/fpdi/

于 2011-03-24T16:49:17.237 回答
2

使用 PDFTK,您需要两块来完成拼图。首先,您需要带有数据的 FDF,其次是带有适当命名的表单字段的原始 PDF。PDFTK 将数据合并到 PDF 中。

要回答 FDF 问题,请先查看这篇出色的文章http://koivi.com/fill-pdf-form-fields/,其中还包括一种帮助生成 FDF 的方法。

一旦您拥有包含数据的 FDF,您就可以使用 PDFTK 的 fill_form 函数

您可以通过使用 passthru() 而不是 readfile($temp_file) 并使用“output -”参数输出到 stdout 而不是文件名来保持文档可编辑。同样重要的是不要强制进行文档处置。如果您尝试强制下载文件而不是在浏览器中打开它,您最终会遇到无法编辑和无法保存的混乱局面。

例子:

header("Content-type:application/pdf");
passthru("pdftk ".$original." fill_form ".$fdf." output -");
die();

这将使用 Reader 插件在浏览器中打开它。然后,您将能够编辑和打印填写的表单字段,但我仍然没有找到一种方法来保存更改后的副本。我目前正在为其他选项追逐 Adob​​e 销售。

如其他地方所述,不要使用 PDFTK 的选项“flatten”。

原始 PDF 不得包含任何密码。

于 2013-01-22T21:13:55.233 回答