使用 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 插件在浏览器中打开它。然后,您将能够编辑和打印填写的表单字段,但我仍然没有找到一种方法来保存更改后的副本。我目前正在为其他选项追逐 Adobe 销售。
如其他地方所述,不要使用 PDFTK 的选项“flatten”。
原始 PDF 不得包含任何密码。