📜  下载pdf javascript(1)

📅  最后修改于: 2023-12-03 15:21:30.275000             🧑  作者: Mango

下载PDF文件的JavaScript实现

介绍

在Web应用程序中,经常需要提供PDF文件的下载,JavaScript可以帮助我们实现这一功能,不需要将PDF文件放在服务器上,只需要提供PDF文件的url地址即可。

实现步骤
  1. 通过ajax获取PDF文件的二进制流数据
  2. 将二进制流数据转换为Blob对象
  3. 创建一个URL对象,将Blob对象传递给URL.createObjectURL()方法,生成一个可下载的URL地址
  4. 创建一个a标签,设置下载地址和文件名,模拟用户点击下载

代码实现:

function downloadPDF(url, filename) {
  var xhr = new XMLHttpRequest();
  xhr.open('GET', url, true);
  xhr.responseType = 'arraybuffer';

  xhr.onload = function() {
    if (this.status === 200) {
      var blob = new Blob([this.response], { type: 'application/pdf' });
      var url = URL.createObjectURL(blob);

      var a = document.createElement('a');
      a.download = filename;
      a.href = url;
      a.click();
    }
  };

  xhr.send();
}
使用方法

调用downloadPDF函数,传递PDF文件的url和文件名参数即可实现下载。示例代码:

downloadPDF('https://example.com/sample.pdf', 'sample.pdf');

注意:因为涉及到跨域请求,服务器需要设置CORS,或使用代理服务器解决跨域问题。