2015-12-29 59 views
0

早上好, 點擊顯示在Android PDF,制定一個表格(部分),我跑的算法來處理iTextSharp的FIL PDF,在那裏我張貼以下說明:iTextSharp的處理,但它並不

Dim doc As New Document(iTextSharp.text.PageSize.A4.Rotate, 10, 10, 60, 30) 
Dim pdfFilePath As String = Resources.FrmParcheggio.Soste & ".pdf" 
Dim Response As HttpResponse = HttpContext.Current.Response 
Response.Clear() 
Response.ContentType = "application/octet-stream" 
Response.AddHeader("Content-Disposition", "inline; filename=" & pdfFilePath) 
Dim wri As PdfWriter = PdfWriter.GetInstance(doc, Response.OutputStream) 
Dim Intestazione As New MyPageEventHandler 
Intestazione.Cliente = HttpContext.Current.Session("NomeCliente") 
Intestazione.NomeReport = Resources.FrmParcheggio.TitoloReport 
wri.PageEvent = Intestazione 
doc.Open() 
' various processing 
doc.Close() 

我的問題是,在不同的瀏覽器(win和mac os),它可以與ios協同工作,但Android全部解決了,但是PDF不顯示......爲什麼?有一些錯誤? 非常感謝那些迴應。 大衛

回答

1

這是錯誤的:

Response.ContentType = "application/octet-stream" 

它應該是:

Response.ContentType = "application/pdf" 

你還要求瀏覽器顯示PDF內嵌:

Response.AddHeader("Content-Disposition", "inline; filename=" & pdfFilePath) 

並非所有瀏覽器可以在線顯示PDF。也許你想確保它在打開瀏覽器之外:

Response.AddHeader("Content-Disposition", "attachment; filename=" & pdfFilePath) 

此外,一些瀏覽器不喜歡事先不知道多少字節將如何被髮送二進制內容。這就是爲什麼您會看到大量iText代碼,其中PDF首先在內存中創建(使用MemoryStream),允許在寫入第一個PDF字節之前設置內容長度。

最後:你檢查了不同的Android設備?並非所有設備都具有PDF查看器,並且您需要使用PDF查看器來呈現PDF。

無論如何:這不是一個iTextSharp問題,因爲如您所說,PDF在不同瀏覽器中正確顯示。

+0

好的,我試過在另一個Android上,一切正常!非常感謝Bruno Lowagie – Dave

相關問題