我正在使用PHP填写PDF表单,我想将其输出到浏览器。我正在使用此处的函数:http://koivi.com/fill-pdf-form-fields来创建一个xfdf文件。然后,我使用以下代码填充表单并将结果文件输出到浏览器:
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="filename.pdf"');
passthru("/usr/local/bin/pdftk forms/pdf_form.pdf fill_form filename.xfdf output - ");
当我打开从浏览器创建的PDF时,我从adobe pdf阅读器收到一条错误,上面写着“Adobe Reader无法打开'filename.pdf',因为它不是受支持的文件类型,或者因为文件已损坏(例如,它是作为电子邮件附件发送的,未被正确解码)。“在另一个阅读器中打开相同的PDF不会出错,但我的用户将使用acrobat。
相比之下,如果我将代码更改为以下内容:
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="filename.pdf"');
passthru("/usr/local/bin/pdftk forms/pdf_form.pdf fill_form filename.xfdf output filename.pdf ");
我可以从tmp文件夹中打开,阅读和编辑生成的PDF。似乎'output - '选项在某种程度上破坏了PDF。
我的问题是:我做错了吗?是否有一些我缺少的代码或更好的方法来实现这一目标?
答案 0 :(得分:0)
例如,使用<?php ...
而不是最终?>
,因此您确定没有最终的空格,尤其是在PDF输出后写入换行符。