Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php在浏览器中打开fdf文件_Php_Cakephp_Pdf_Fdf - Fatal编程技术网

php在浏览器中打开fdf文件

php在浏览器中打开fdf文件,php,cakephp,pdf,fdf,Php,Cakephp,Pdf,Fdf,我正在与cakephp合作。我需要填写一份PDF表格,通过从中获取代码,我已经为其生成了fdf文件 fdf文件将很好地生成,但我无法在浏览器中打开该文件。我已将live PDF表单URL放入fdf文件中,并使用以下标题显示该文件。但显示fdf文件的原始内容 header("Content-type: application/vnd.fdf"); echo file_get_contents($fdf_doc); 请有人帮助在浏览器中显示pdf文件和fdf文件中的数据 header("Conte

我正在与cakephp合作。我需要填写一份PDF表格,通过从中获取代码,我已经为其生成了fdf文件

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

header("Content-type: application/vnd.fdf");
echo file_get_contents($fdf_doc);
请有人帮助在浏览器中显示pdf文件和fdf文件中的数据

header("Content-type: application/vnd.fdf");
echo file_get_contents($fdf_doc);
这是我根据上面两行代码得到的代码

%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
%FDF-1.2
%âãÏÓ
10 obj
>> 
endobj
拖车
>
%%EOF
首先在回显文件后尝试退出(),以防止CakePHP向响应中添加输出

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

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

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

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

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

有用的文章:


  • 我想您的问题已经在这里得到了回答:。pdftk是第三方工具,需要安装在服务器上。如果我们不使用pdftk也能做到这一点,那就更好了。注意:about
    file\u get\u contents
    警告此函数可能返回布尔值FALSE,但也可能返回计算结果为FALSE的非布尔值。有关更多信息,请阅读布尔值部分。使用===运算符测试此函数的返回值。为什么要尝试在浏览器中打开FDF文件?您需要执行一些代码或程序来合并FDF文件和可填充的PDF文件,例如建议的
    pdftk
    。同一网站有教程:。您是否打算下载用户的FDF数据并手动将数据与PDF合并?pdftk在共享主机上不可用,我们需要自动执行此操作。它不是一个普通的PDF文件,而是XFDF数据。但浏览器似乎对
    application/vnd.FDF
    一无所知。这会打开文件,但不会填充数据。我正在尝试解决这个问题,我已经从FDF文件中使用PDFTK创建了PDF文件。我没有找到在浏览器中显示FDF文件的直接解决方案。虽然我在网上搜索时找到了线索,在浏览器中显示了FDF文件,但它并没有起作用。感谢大家参与寻找解决方案