2010-09-15 110 views
0

我試圖通過jquery load()顯示一個由PHP創建的動態生成的PDF,FPDFlib在div上,但是我得到的是一個字符堵塞。有沒有辦法解決它?php-jquery-pdf在div上加載pdf

在此先感謝

我試圖糾正我的代碼以這種方式,但繼續顯示果醬

$.post("./php/stampa_login.php", 
    {piatta:'<? echo $_POST["piatta"] ?>'}, 
    function(data){ 
     $("#stampa_content").load("./temp/login.pdf") 
}); 

小時。

+0

我們可以看到你的代碼,請,似乎是一個輸出的問題。 – RobertPitt 2010-09-15 17:37:34

回答

2

這似乎是正確的。 jQuery的load()通過AJAX獲取URL;如果該URL爲PDF,則表示爲瀏覽器的「字符堵塞」,因爲PDF和HTML不兼容在所有中,格式完全不同。

您可能想要的是將PDF作爲<object>打開,但您希望用戶在其瀏覽器中安裝了一些PDF插件。讓我們退後一步:通過顯示PDF來嘗試在這裏實現什麼?

+0

我通過JQuery的php頁面加載生成PDF;我想這是問題,可能是我可以解決一個帖子請求生成PDF的PHP頁面,將其保存在本地和負載後顯示... – haltman 2010-09-15 18:01:53

0

雅,似乎是一個輸出問題。你有沒有嘗試過頭功能輸出正確?嘗試正確的輸出或代替在div中打開PDF,只需更新pdf的鏈接

+0

我使用這些標頭:header('Accept-Ranges:bytes 「); \t \t \t header(「Content-type:application/pdf」); – haltman 2010-09-15 18:05:16

+0

我不認爲這會奏效。您將不得不使用新生成的PDF鏈接更新div。 – 2010-09-15 19:12:52

1

您可以創建空白embed標記並將src屬性作爲鏈接。在您的回撥功能中。這將完美加載PDF文件。

$("#embed_tag_id").attr("src", "./temp/login.pdf"); 
+0

我要嘗試這個解決方案謝謝提示! – haltman 2012-06-03 15:25:59

1

而不是使用$('#whatever')。load();

你會想是這樣的:

$("#stampa_content").html($('<object>', { data : "./temp/login.pdf", type : "application/pdf", width : 800, height : 600 }); 

什麼,會做的,而不是試圖將PDF內容加載到一個DIV,這將創建啓動你的PDF閱讀器的塊(如Adobe Reader),然後它將加載PDF本身並顯示它。

或者,你可以去這樣的事情:http://dev.funkynerd.com/projects/jquery-pdfdoc/wiki