首页 > web前端 > js教程 > 正文

如何在所有主要浏览器中显示二进制字符串的 PDF 文件?

Patricia Arquette
发布: 2024-10-28 17:54:02
原创
243 人浏览过

How to Display a PDF File from a Binary String in All Major Browsers?

如何在 JavaScript 中从二进制字符串构建 PDF 文件

问题:
从以下位置检索表示 PDF 文件的二进制字符串一个 Web 服务,并以跨浏览器兼容的方式将其转换为可查看的 PDF。

尝试的解决方案:
将二进制字符串嵌入到数据 URI 中,但在 IE9 中遇到限制和 Firefox。

问题:
是否有其他方法可以为所有主要浏览器生成 PDF 文件,而无需修改 Web 服务实现?

解决方案:
结合使用 Blob API 并将 XMLHttpRequest 的 responseType 设置为“blob”:

<br>var request = new XMLHttpRequest();<br>request.open("GET", "/path/to/pdf", true); <br>request.responseType = "blob";<br>request.onload = function (e) {<pre class="brush:php;toolbar:false">if (this.status === 200) {
    // `blob` response
    console.log(this.response);
    // create `objectURL` of `this.response` : `.pdf` as `Blob`
    var file = window.URL.createObjectURL(this.response);
    var a = document.createElement("a");
    a.href = file;
    a.download = this.response.name || "detailPDF";
    document.body.appendChild(a);
    a.click();
    // remove `a` following `Save As` dialog, 
    // `window` regains `focus`
    window.onfocus = function () {                     
      document.body.removeChild(a)
    }
};
登录后复制

};
request.send();

;

这种方法允许用户下载 PDF 文件,而不是将其嵌入网页中,为查看 PDF 提供跨浏览器兼容的解决方案。

以上是如何在所有主要浏览器中显示二进制字符串的 PDF 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!