[英]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.