今天我開始嘗試使用基於PHP的PDF生成器。我嘗試了TCPDF,它在大多數情況下工作正常,雖然它似乎有點慢。但是當我加載在Internet Explorer 8中生成我的PDF的PHP文件時,我看到了奇怪字符的行和行。然而,Chrome會將其識別爲PDF。TCPDF在IE8中輸出奇怪的字符
我假設我必須設置一個特殊的MIME類型來告訴IE它應該將頁面輸出解釋爲PDF文件。如果是的話,我該怎麼做?
今天我開始嘗試使用基於PHP的PDF生成器。我嘗試了TCPDF,它在大多數情況下工作正常,雖然它似乎有點慢。但是當我加載在Internet Explorer 8中生成我的PDF的PHP文件時,我看到了奇怪字符的行和行。然而,Chrome會將其識別爲PDF。TCPDF在IE8中輸出奇怪的字符
我假設我必須設置一個特殊的MIME類型來告訴IE它應該將頁面輸出解釋爲PDF文件。如果是的話,我該怎麼做?
放入「application/pdf」或「application/octet-stream」MIME類型可能會有幫助。請記住,「應用程序/八位字節流」將迫使文件的下載和可能影響其在瀏覽器中打開..
的情況下,你不知道,你可以做這樣的:
header('Content-type: application/octet-stream');
您需要爲動態生成的內容處理不同的IE。看到這篇文章,
http://support.microsoft.com/default.aspx?scid=kb;en-us;293792
在我的代碼,我這樣做,
if(isset($_SERVER['HTTP_USER_AGENT']) AND ($_SERVER['HTTP_USER_AGENT']=='contype')) {
header('Content-Type: application/pdf');
exit;
}
這個問題也可以解釋你所提到的緩慢,因爲你的網頁實際上是整個PDF多次發送沒有這樣的邏輯。
@Pieter:我遇到了同樣的問題,使用tcpdf(使用fpdi),並加載使用ajax調用生成pdf的頁面。我改變了javascript來使用window.location加載頁面,問題就消失了,性能也好多了。我相信另外兩張海報在文件頭引發問題的想法中是正確的。就我而言,由於ajax調用,標題並未應用於整個文檔,並導致該問題。希望這可以幫助。
我發現這是一個問題太多,而對我來說這完全取決於代碼:
if (php_sapi_name(!= 'cli') {
在tcpdf.php文件的7249行。
我評論這個「如果」語句(以及相關的「}」)和所有爲我的其他瀏覽器正常工作和IE8 希望這有助於
我也有這個問題,但我說我做了什麼得到它的工作是
exit();
在pdf輸出結束。