【问题标题】:Render byte array as pdf using Javascript inside iframe Internet Explorer/Edge使用 iframe Internet Explorer/Edge 中的 Javascript 将字节数组呈现为 pdf
【发布时间】:2019-12-16 16:56:30
【问题描述】:

我有一个从 http post 方法返回的字节数组(从原始 PDF 文件转换而来)。我的要求是在 iframe 中呈现原始 PDF,我将 Angular 1.x 与 IE/Edge 浏览器一起使用。

【问题讨论】:

    标签: javascript pdf internet-explorer iframe bytestream


    【解决方案1】:

    IE 和 Microsoft Edge don't support iframe 将数据 url 作为 src 属性。所以不能直接在IE或者Microsoft Edge的iframe中显示pdf的blob数据。

    解决方法是在 IE 和 Microsoft Edge 中使用 msSaveOrOpenBlob 处理 blob 以打开 pdf 或使用 PDF.js 在使用 <canvas> 的浏览器中呈现它。有关使用 PDF.js 的更多信息,您可以参考 this threadthis thread

    【讨论】:

      【解决方案2】:

      我在这里提出了类似的问题。事实是,即使您使用 pdf 查看器,您也不能直接在 IE/Microsoft Edge 中将 PDF 作为 blob 直接显示。您可以使用的唯一解决方案是msSaveOrOpenBlob()

      navigator.msSaveOrOpenBlob(blob_url);

      如果需要,您可以在新窗口中执行操作:

      window.open(navigator.msSaveOrOpenBlob(blob_url))

      这将提示您打开或保存文件。如果单击打开按钮,它将下载文件的本地副本并打开它,这在 IE/Edge 中是可能的。如果你执意要查看文件,我建议你使用谷歌浏览器或火狐浏览器,这两种浏览器都可以直接打开文件。 Firefox 有自己的 PDF 查看器。

      编码愉快!! :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-21
        • 1970-01-01
        • 2011-01-16
        • 2014-04-20
        • 2019-05-14
        • 1970-01-01
        • 2011-06-28
        • 1970-01-01
        相关资源
        最近更新 更多