4

我正在使用 cakephp。我需要通过从http://koivi.com/fill-pdf-form-fields获取代码来填写我已为其生成 fdf 文件的 PDF 表单。

fdf 文件将生成良好,但我无法在浏览器中打开该文件。我已将实时 PDF 表单 URL 放在 fdf 文件中,并使用以下标题显示该文件。但显示 fdf 文件的原始内容。

header("Content-type: application/vnd.fdf");
echo file_get_contents($fdf_doc);

请有人帮助在浏览器中显示 pdf 文件和 fdf 文件中的数据。

这是我针对上述两行代码得到的代码

%FDF-1.2
%âãÏÓ
1 0 obj
<< 
/FDF << /Fields [ <</T(First_Name_dyoZTsSYj7AaZZORUqwHRg)/V(m)>><</T(Last_Name_wtE2EKuY4zimhkLHVtbImQ)/V(Jhon)>><</T(Address_iw9xRob*WcfI6Yx1VvF6lA)/V(Steve)>><</T(City_hdYMQhyO73*HEfQYtnWpyg)/V(lahore)>><</T(ZIP_Code_lSOicM9dFoK1WNlOn*BMdg)/V(232323)>><</T(Phone_l3ZSQxhOYwSFuzdOta-WNw)/V(98989898)>><</T(Arrival_Date_Jy6nv5X38KS1lyDYw-*uAQ)/V(01/30/2010)>><</T(Departure_Date_uFmnQc6dxs4jn7s*g32RAA)/V(02/03/2010)>><</T(Number_of_guest_0iHYhUsjJEAoMGsWL9koXA)/V(5)>><</T(Flight_Number_zY9NGizqNvliyJFB0IEmxA)/V(PK-506)>><</T(Time_N18PoY40LFC6LCUUBXb4JA)/V(16:08)>><</T(ADDITIONAL_INFO_0MGHwGHCfZmli5zV6WpKPA)/V(this is for testing for hotel registration)>><</T(file_name)/V(AccommodationRegistration1.pdf)>>] 
/F (http://example.com/pdf_files/AccommodationRegistration1.pdf) /ID [ <2deb20b6495e049130fbca026c4fd1d3>
] >> 
>> 
endobj
trailer
<<
/Root 1 0 R 

>>
%%EOF
4

3 回答 3

4

应该从 fdf 生成一个 pdf

有用的文章:

  1. FDF
  2. 在共享 Web 服务器上安装 PDFTK
  3. 将 pdftk 添加到 1and1 共​​享主机
于 2013-03-15T05:05:58.890 回答
2

首先在回显文件后尝试 exit() 以防止 CakePHP 将输出添加到响应中。

一种更简洁的方法是使用 CakeResponse 传递文件:

return $this->response->file($fdf_doc);
于 2013-03-11T15:27:54.057 回答
1

原因是浏览器无法识别内容类型。
所以它认为它是纯文本并且不知道这是PDF。
您的内容类型无效:

header("Content-type: application/vnd.fdf");

试试这个:

header('Content-type: application/pdf');
于 2013-03-13T12:37:27.917 回答