【问题标题】:iTextSharp not working in IE x64iTextSharp 在 IE x64 中不起作用
【发布时间】:2015-11-30 11:41:26
【问题描述】:

我刚刚将我的 ASP.NET MVC 项目从 Spire.PDF 转换为 iTextSharp(由于 Spire.PDF 免费版本的限制)。但是由于某种原因,我什至无法让最简单的示例正常工作。

浏览器(在这种情况下为 IE 11 x64)只会显示一个空白的灰色页面。如果我保持此页面打开一段时间,Adobe Acrobat 会显示错误消息 (103:103)。

有趣的是,当我保存文件时(通过添加 Content-Disposition 标头或使用 Fiddler),PDF 将毫无问题地打开。我还发现 Edge 和 32 位版本的 IE 可以很好地显示 PDF 文件。

这是我的示例操作方法:

    public ActionResult DownloadPdf() {

        var document = new Document(PageSize.A4, 50, 50, 25, 25);
        var output = new MemoryStream();
        var write = PdfWriter.GetInstance(document, output);

        var titleFont = FontFactory.GetFont("Arial", 18, Font.BOLD);

        document.Open();
        document.Add(new Paragraph("Test Receipt", titleFont));
        document.Close();
        Response.ContentType = "application/pdf";
        Response.BinaryWrite(output.ToArray());

        return new EmptyResult();

    }

结果如下:https://onedrive.live.com/redir?resid=17E4A59AD907D9BA!259495&authkey=!ABsQUl-TiR668xI&ithint=folder%2cpng

除了设置 Content-Length 或 Response.Buffer 之外还有什么想法吗? (我已经试过了)


更新1:我想回复一些cmets

@ChrisHaas 即使更改了内容类型,IE 仍然会显示灰色页面。但是,我使用 Fiddler 将响应(一次带有标题,一次不带有)保存在 OneDrive 链接中,您可以在上面的问题中找到该链接。

@Matt 你是说 F12 开发工具吗?它不会在灰色页面上正确加载,它只是一个空白区域。所以我真的不能检查任何东西。

@Paulo 我之前试过这个,但没有任何效果。然而,根据 Fiddler 的说法,Content-Length 似乎是正确的。

【问题讨论】:

  • 当它在浏览器中打开时,尝试查看 Inspect Element。可能有一些事情可以告诉我们出了什么问题。
  • 添加内容长度,如果不存在 IE 会出现问题。
  • 您能否将内容类型更改为application/octet-stream,这会强制浏览器提示“另存为”,将该文件保存在某处,然后将该文件发布到网上以便我们进行检查?
  • 我想下一步是找出正在尝试查看 PDF 的程序。据我所知,IE 没有原生 PDF 渲染器,而是卸载它。 Windows 8 有一个本机 PDF 渲染器,它可能会将自身内联到 IE 中,但我不确定。如果您安装了 Acrobat 或 Reader,Adobe 也会安装渲染器。您能说出正在尝试呈现 PDF 的程序是什么吗?您可能需要look through your registry 或附加进程监视器。

标签: asp.net internet-explorer pdf itextsharp


【解决方案1】:

我仍然不明白到底是什么问题,但我决定在另一台 PC 上进行测试,并确定它是服务器端问题还是客户端问题。

我重新配置了 IIS Express 以允许远程连接并从另一个系统(也是带有 IE 11 的 Win 10 Pro x64)访问 PDF 文件,它运行良好。它的行为也取决于内容类型(即八位字节流的下载对话框和应用程序/pdf 的内联 PDF 查看器)。

接下来我在我的开发机器上重新安装了 Adob​​e Acrobat Reader DC,但问题仍然存在,即使在重新启动并清除 IE 缓存之后也是如此。所以我尝试的最后一件事是从版本 DC 降级到 X - 这确实有效,现在可以在浏览器中正常显示 PDF。

就像我说的,我不明白到底是什么问题,但至少我现在可以继续处理我的项目。

感谢大家的建议!

【讨论】:

    猜你喜欢
    • 2014-12-28
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2010-10-30
    • 2011-07-31
    • 2012-05-16
    相关资源
    最近更新 更多