Internet Explorer无法打开pdf字符串文件

时间:2017-03-28 13:15:06

标签: pdf base64 internet-explorer-11

我收到(来自我未管理的网络服务)一个包含pdf文件内容的字符串。

在客户方面,我使用此功能:

window.open( '数据:应用/ PDF; BASE64,' +是encodeURI(TheStringWithThePdfContent));

像往常一样,它适用于每个浏览器,但IE(在我的情况下为11),它会显示一条警告:“你想让这个网站在你的计算机上打开一个应用程序吗?”

如果我拒绝,则会打开一个空的白页。

如果我说是,它会尝试打开一个“数据”文件(因为它从window.open中的协议读取,我猜),因为它没有找到任何应​​用程序来执行此操作,请将我发送给微软应用程序商店,它建议我下载“iMusic”

当然完全没用。

我已经改变了所有我猜想可以提供帮助的互联网选项,但都没有。

有什么建议吗?

提前致谢,

2 个答案:

答案 0 :(得分:29)

我找到了解决方案,我想分享有同样问题的人。你可以在这里看到演示: https://jsfiddle.net/quangminh_ln/hy36tnt6/

'use strict';

var data = "...Your PDF base64 string...";
var fileName = "your_file_name";
if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE workaround
    var byteCharacters = atob(data);
    var byteNumbers = new Array(byteCharacters.length);
    for (var i = 0; i < byteCharacters.length; i++) {
        byteNumbers[i] = byteCharacters.charCodeAt(i);
    }
    var byteArray = new Uint8Array(byteNumbers);
    var blob = new Blob([byteArray], {type: 'application/pdf'});
    window.navigator.msSaveOrOpenBlob(blob, fileName);
}
else { // much easier if not IE
    window.open("data:application/pdf;base64, " + data, '', "height=600,width=800");
}

我在解决方案中看到的链接:https://viethoblog.wordpress.com/2016/08/30/loaddisplay-pdf-from-base64-string-bonus-ie-workaround/

答案 1 :(得分:-2)

更新Reader或Acrobat

Adob​​e每季度发布免费安全更新。确保将您的Reader或Acrobat版本更新到最新版本。更新通常包括对常见问题的修复。下载最新的免费更新。

打开Reader或Acrobat。 选择帮助&gt;检查更新。

Acrobat 9及更早版本:如果有新的更新,则会自动安装。

Acrobat X和XI:单击“更新”,然后单击“安装”。

Acrobat DC:继续下一步。 检查更新 出现“更新程序”对话框时,单击“下载”。

更新Acrobat 下载完成后,单击Acrobat安装图标。在Acrobat Updater窗口中,单击“安装”。 更新就绪 安装完成后,重新启动计算机并再次测试PDF以查看是否可以查看它。

PDF解决方案

刷新或重新加载页面

通常,只需在浏览器中刷新页面即可完全加载PDF。

按住Shift键并按浏览器中的“刷新”或“重新加载”按钮。 尝试查看其他PDF

尝试查看其他PDF。例如,查看此示例表单是否显示在浏览器中。如果Acrobat或Reader可以打开示例表单,则其他PDF可能会损坏或Web服务器可能出现问题。如果可能,请联系管理网站的个人或公司。

尝试在硬盘上查看PDF

确定您的网络浏览器是否可以从本地硬盘驱动器而不是从网络打开PDF。对于此测试,您需要在计算机上保存PDF。

在您的网络浏览器中,执行以下操作之一:

Mac OS:选择文件&gt;打开(或打开文件)。 Windows:按Control + O. 单击“浏览”。

(仅限Windows)从“文件类型”菜单中,选择“所有文件”。 选择所有文件 在计算机上找到PDF,选择它,然后单击“打开”。 如果PDF打开,您正在查看的网站可能有问题。联系管理网站的个人或公司。