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

如何在不同浏览器中使用 JavaScript 从二进制字符串构建 PDF 文件?

Linda Hamilton
发布: 2024-10-26 20:42:30
原创
930 人浏览过

How to Build PDF Files from Binary Strings in JavaScript Across Different Browsers?

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

简介

从从接收到的二进制字符串创建 PDF 文件Web 服务在许多 Web 应用程序中都是一项有用的任务。但是,使用 data:uri 在 IE9 和 Firefox 等浏览器中嵌入二进制数据可能会导致问题。本文探讨了适用于不同浏览器的解决方案。

解决方案:创建文件系统

正如原始海报所提到的,一种解决方案涉及在文件上创建 PDF 文件系统并提示用户下载。此方法可确保与各种浏览器的兼容性。

实现

要实现此解决方案,您可以使用以下步骤:

  1. 配置您的XMLHttpRequest 使用responseType = "blob"。
  2. 处理 XMLHttpRequest 的加载事件,以 Blob 对象形式检索响应。
  3. 从 Blob 对象创建一个 objectURL 来表示 PDF 文件。
  4. 创建锚点元素 () 并将其 href 属性设置为 objectURL,将 download 属性设置为所需的文件名。
  5. 将锚点元素附加到文档正文并单击它提示用户下载文件。
  6. 下载完成后移除锚元素,防止保留不必要的资源。

下面是一个代码示例:

<code class="javascript">var request = new XMLHttpRequest();
request.open("GET", "/path/to/pdf", true);
request.responseType = "blob";
request.onload = function (e) {
  if (this.status === 200) {
    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();
    window.onfocus = function () {
      document.body.removeChild(a);
    };
  }
};
request.send();</code>
登录后复制

结论

此解决方案允许您以跨 IE、FF、Opera、Chrome 和 Safari 等浏览器的方式从二进制字符串构建 PDF 文件,提供更多处理 PDF 下载的可靠方法。

以上是如何在不同浏览器中使用 JavaScript 从二进制字符串构建 PDF 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

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