适用于Chrome和Firefox,但IE8不显示任何内容...... 当我在webforms按钮中尝试相同的代码时,单击它可以在所有三个浏览器上运行。
如何让它在IE8中运行?
public class ShowPDF : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// create PDF document
var document = new PdfDocument();
var page = document.AddPage();
var font = new XFont("Verdana", 20, XFontStyle.Bold);
var gfx = XGraphics.FromPdfPage(page);
gfx.DrawString("Hello, World!", font
, PdfSharp.Drawing.XBrushes.Black
, new PdfSharp.Drawing.XRect(0, 0, page.Width, page.Height)
, PdfSharp.Drawing.XStringFormats.Center
);
// Send PDF to browser
var stream = new System.IO.MemoryStream();
document.Save(stream, false);
context.Response.Clear();
context.Response.ContentType = "application/pdf";
context.Response.AddHeader("content-length", stream.Length.ToString());
context.Response.BinaryWrite(stream.ToArray());
context.Response.Flush();
stream.Close();
context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}
答案 0 :(得分:2)
解决!它归结为浏览器配置。
@BrianRogers - 感谢您对此进行测试。我试过“window.location.href ='ShowPDF.ashx';”就像你做的那样,IE8显示了一个空白页面。这让我质疑我的浏览器配置。我卸载了Foxit Reader并安装了Adobe Reader。现在一切都按预期工作了。
令人困惑的部分是当我把代码放在aspx服务器端按钮点击时渲染pdf时,IE8显示PDF就好了!去搞清楚!出于这个原因,我之前没有质疑我的浏览器配置。