我正在尝试从 PHP 脚本填写 PDF。我在以下URL关注Sid Steward的文章。
我已经在CentOS linux 发行版上配置了 PDFTk包,我能够从命令提示符执行 pdftk,它将 FDF 表单与 PDF 合并并成功生成扁平(填充)PDF。我正在使用以下命令使用 shell 测试 Pdftk。
pdftk /tmp/form.pdf fill_form /tmp/fdfbm0pe7 output /tmp/filledform.pdf flatten
但是当尝试通过 PHP 执行类似的命令时,我得到了错误。passthru命令失败,错误代码为11。以下是我用来执行命令的 php 代码:
$command = 'pdftk form.pdf fill_form '. $fdf_fn. ' output - flatten';
passthru($command, $error);
上面的$fdf_fn有 FDF 文件名。form.pdf是可填写的 pdf 表单。我提供上述代码行的form.pdf和 PHP 脚本文件都在同一个文件夹中。我通过回显shell_exec('pdftk')检查了 PDFtk 是否通过 PHP 正确执行,并且它返回了标准帮助详细信息。
只是为了提供更多详细信息,pdftk 的路径是/usr/bin/并且 PHP 脚本和 PDF 表单文件位于/var/www/html/pdfmerge 下。
有人可以指导我做错了什么,通过 PHP 执行命令失败并出现错误代码 11?