将ASP.NET生成的pdf byte 显示到网页而不保存文件
我正在使用iTextSharp生成pdf。 我可以从PDF字节[]中保存PDF文件。
byte[] outputPDF = cnt.CreateBreakPDF(); File.WriteAllBytes(pdfOutPutPath, outputPDF);
将输出byte[]
显示到网页的最佳方法是什么?
我想在页面中的div中显示PDF。 不是PDF作为完整的回复。
我见过MVC的答案,但我正在使用ASP.NET Web应用程序。
有没有比使用HTTP处理程序更好的方法呢? 我不想发送创建PDF作为查询字符串的所有细节。
我在jsFiddle中试过这个 ,它在Chrome和FF中运行良好,需要检查其他浏览器。
使用,将byte[]
转换为Base64
,
string base64PDF = System.Convert.ToBase64String(outputPDF, 0, outputPDF.Length);
我所要做的就是在源代码中将MIME type
指定为data:application/pdf;base64,
并提供PDF
的Base64
版本。
我无法通过附加#toolbar=0&navpanes=0&statusbar=0
来隐藏FF中显示的顶部工具栏。
IE8需要显示保存的pdf文件。
试试这个
Response.ContentType = "application/pdf"; Response.AddHeader("content-length", outputPDF.Length.ToString()); Response.BinaryWrite(outputPDF);
这样的东西会起作用吗?
您只需将pdf传递到对象数据源即可。