[英]FPDF return me text instead of PDF File
我使用FPDF从PHP生成一些PDF。 它适用于小型实例,但现在我遇到了问题:它返回了我在控制台中看到的一些数据,但是没有文件!
输出看起来很像-是PDF吗?
%PDF-1.4
0 obj
<</Type /Page
/Parent 1 0 R
/Resources 2 0 R
/Group <</Type /Group /S /Transparency /CS /DeviceRGB>>
......
<<
/Size 15
/Root 14 0 R
/Info 13 0 R
>>
startxref
22291
%%EOF
而且我的php很长,这是它的pastebin http://pastebin.com/ri5uAeie
我的PHP看起来正确,真的很奇怪吗?
我通过参数抛出URL并带有$ _GET,它很好用:)谢谢您的帮助!
您可能已在inc/DataLib.php
某处添加了空行。
更新#1:
根据您的回答,有两个可疑点:
Content-Type
应为application/pdf
。 从理论上讲, PDF :: Output()方法为您添加了它(除非php_sapi_name()
返回cli
,这在网络环境中是不可能的)。
在台式机PDF阅读器中获取空白页(而不是出现错误),表明文档已损坏,阅读器甚至无法检测到该文档...或者文档实际上是空白的。
对于#1(防火墙,代理或防病毒?)一无所知,但您至少可以检查PDF源,以查找PHP错误消息或不属于此的内容。
更新#2:
我想我终于明白了您的问题所在。 您不能使用JavaScript通过AJAX检索PDF文件。 JavaScript所有可以做的是:
我怀疑您直接从位置栏调用PDF生成器就可以了。
这就是不带参数调用FPDF::Output()
。 它只是设置适当的标题,然后将PDF作为文本发送到浏览器。 如果要下载文件,则需要为Output()
提供文件名,并将第二个参数设置为'D'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.