2012-10-30 142 views
1

我有一個Web服務,它使用JSON對象創建PDF。 在我的Web應用程序中,我想在瀏覽器中顯示該PDF。使用JSON通過POST請求PDF

所以我想讓瀏覽器發送一個使用Request Content-Type:application/json和我的JSON對象的POST請求。

這不是使用AJAX-Call的問題。但後來我把PDF作爲字符串,並不知道如何將該字符串呈現爲PDF。

另一種可能性是建議瀏覽器加載PDF作爲下一頁顯示。但似乎沒有辦法修改用於加載頁面的請求內容類型。當我使用Form-Tag時,Request Content-Type始終是application/x-www-form-urlencoded。

我發現其他人在互聯網上有同樣的問題。但還沒有找到解決辦法。 但是,既然它對我來說似乎是一個標準問題,我不敢相信它沒有解決辦法。

任何想法?

+0

「從JSON對象創建PDF的Web服務」,然後「我有PDF作爲字符串」 - 所以現在web服務**實際上**創建PDF?或者是什麼? – 2012-10-30 12:02:33

+0

Webservice創建一個PDF。但是,當我通過XMLReqeust得到它時,沒有可用的PDF特定表示。因此,我將Sever響應的內容(它是PDF)作爲字符串獲取。 –

回答

2

您可以嘗試使用數據協議(例如data:application/pdf,base64; ABC .... =)將PDF數據傳遞給window.open;取決於網絡瀏覽器,它可能處理或不處理那個長的URL

另一種方法是將其饋送給某個HTML/JS庫,例如, https://github.com/mozilla/pdf.js。還有Flash替代品。

+0

它似乎可以在Firefox,Chrom,Konqueror中運行。 我還沒有登錄Safari。 Internet Explorer似乎有問題。我不知道爲什麼。 根據http://msdn.microsoft.com/en-us/library/cc848897%28v=vs.85%29.aspx Internet Explorer支持的數據:但是已達到IE8 32KB的限制。 我可以忍受這一點。 我會告訴我什麼時候想出IE問題了。 –

+0

Safari可以處理它。但我必須將其保存到磁盤並將名稱更改爲.pdf才能看到它。只要打開鏈接不起作用。 –

+0

我沒有真正發現爲什麼Internet Explorer不喜歡它。維基百科sais是出於安全原因,其他人說Data URI Sheme只是不支持externel鏈接。 –