Asp.net

使 PDF 內聯顯示,而不是單獨的 Acrobat Reader 視窗

  • December 3, 2010

我有一個 ASP.NET ashx 類,它從數據庫中檢索數據,使用 iTextSharp 創建 PDF 文件,並將 PDF 流式傳輸到瀏覽器。瀏覽器(至少是 IE 和 Firefox)將 Acrobat Reader 作為單獨的視窗啟動以打開文件。我希望它在瀏覽器中內聯顯示。

這是我可以從伺服器端完全控制的東西嗎?我已經將 Content-Type 標頭設置為 application/pdf,並且嘗試設置 Content-Disposition 和 Content-Length。到目前為止沒有任何工作。

我還缺少另一個標題嗎?PDF 本身是否有一些東西告訴瀏覽器如何顯示它?還有其他想法嗎?

設置 content-disposition 和 content-type 標頭應該可以,但您可能還需要呼叫Response.ClearHeaders()以清除已設置的其他標頭。

此外,嘗試使用Fiddler查看響應中的實際標題和內容,並將它們與您想要的網站中的內容進行比較。

如果您使用的是 ashx(網路處理程序),請嘗試以下操作:-

context.Response.AddHeader("content-disposition", "inline; filename=Something.pdf")

引用自:https://stackoverflow.com/questions/859815