2009-12-07 95 views
1

我试图从FDF文件创建pdf。我已经成功创建了FDF文件。 但是,当我尝试将其转换为PDF我得到一些错误。以下是我的代码的一部分。中的test.pdf文件下载对话框打开,当我尝试打开它给错误“无法打开,因为检验.pdf它要么不支持的文件类型或已损坏”使用PHP将FDF转换为PDF

if($fp=fopen($fdf_file,'w')){ 
      fwrite($fp,$fdf_data,strlen($fdf_data)); 
      echo $fdf_file,' written successfully.'; 
      header('Content-type: application/pdf'); 
      header('Content-Disposition: attachment; filename="test.pdf"'); 
      passssthru("pdftk test.pdf fill_form test.fdf output - "); 
      exit; 

     }else{ 
      die('U 
+0

Andromeda,你可以请分享完整的代码,如果你的问题解决了FDF为PDF。 代码中的$ fp和$ fdf_data是什么?请将我的FDF示例代码通过电子邮件发送给PDF,我可以根据自己的要求轻松运行并进行修改。 [email protected] 谢谢, – 2014-12-06 22:10:17

回答

0

删除echo $fdf_file,' written successfully.';

+0

我已将其删除。仍显示相同的错误 – Andromeda 2009-12-07 08:54:16

+0

您是否尝试过passssthru(“pdftk test.pdf fill_form test.fdf output test-out.pdf”);并验证它的工作原理?您是否尝试过在十六进制编辑器中编辑PDF以查看数据的外观? – 2009-12-07 09:43:49

+0

不,我没有.... 我如何测试“passssthru(”pdftk test.pdf fill_form test.fdf output test-out.pdf“。 – Andromeda 2009-12-07 09:45:35

0

为了进一步调试,请检查下载文件的大小,并在编辑器中查看它的大小。我猜你已经输出这个代码之前或之后。

0

你可能必须确保直接引用安装PDFTK地方,因为这样的:

passthru('/usr/local/bin/pdftk /forms/test.pdf fill_form /forms/test.fdf output - '); 

此外,您还可以在命令的末尾添加>> output.pdf创建一个新的PDF文件。

1
if($fp=fopen($fdf_file,'w')){ 
     fwrite($fp,$fdf_data,strlen($fdf_data)); 
     //echo $fdf_file,' written successfully.'; 
     header('Content-type: application/pdf'); 
     header('Content-Disposition: attachment; filename="test.pdf"'); 
     passssthru("pdftk test.pdf fill_form test.fdf output - "); 
     exit; 
}