2013-03-05 23 views
4

我正在使用cakephp。我需要從http://koivi.com/fill-pdf-form-fields獲取代碼,填寫一份PDF格式的表單,並生成了fdf文件。php在瀏覽器中打開fdf文件

fdf文件即將生成,但無法在瀏覽器中打開文件。我已經把PDF文件格式的URL放在fdf文件中,並使用下面的頭文件來顯示文件。但是顯示了fdf文件的原始內容。

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

請有人幫助在瀏覽器中顯示pdf文件與fdf文件中的數據。

這裏是我呼應文件以防止從CakePHP的添加輸出到響應後獲得的針對碼

%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 
+0

我想你的問題已經在這裏找到答案:http://stackoverflow.com/a/1390496/1249581。 – VisioN 2013-03-08 07:46:38

+1

pdftk是第三方工具,需要在服務器上安裝。如果我們可以做到這一點,沒有pdftk會更好。 – nbhatti2001 2013-03-08 07:49:24

+0

關注'file_get_contents'的http://php.net/manual/en/function.file-get-contents.php注意事項 警告 該函數可能會返回布爾型FALSE,但也可能會返回一個非布爾值,該值將評估變爲假。有關更多信息,請閱讀布爾部分。使用===運算符來測試此函數的返回值。 – Amir 2013-03-11 08:14:26

回答

2

首先嚐試退出()上述兩行的代碼。

一個更清潔的方式做到這一點是使用CakeResponse用於傳遞文件通過:

return $this->response->file($fdf_doc); 
+0

這打開文件,但不填寫數據。我正在嘗試解決問題 – nbhatti2001 2013-03-14 20:03:34

1

的原因是,瀏覽器無法識別的內容類型。
所以它認爲這是一個純文本,並不知道這是PDF。
你有無效的內容類型:

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

試試這個:

header('Content-type: application/pdf'); 
+0

這不是一個普通的pdf文件,它是XFDF數據。 – Ivo 2013-03-13 16:38:58

+0

但似乎瀏覽器並不知道有關'application/vnd的任何信息。fdf' – 2013-03-13 16:44:42