下载一个包含filesaver.js和blob的pdf文件

download a pdf with filesaver.js and blob

本文关键字:js blob 文件 pdf filesaver 包含 一个 下载      更新时间:2023-09-26

我正在尝试用Filesaver.js下载一个文件。当我尝试用csv做这件事时,它很好。但我现在需要下载一个pdf。

我该怎么做?我将Filesaver.js与blob对象一起使用,我的代码看起来像这样:

var filename = "myfile.csv";
var s = "my csv text content";
var blob = new Blob([s], {type "text/csv;charset=utf-8"});
var filesaver = saveAs(blob,filename);

我想知道当我想下载pdf时,应该将什么类型的数据类型传递给blob-onject。

 var blob = new Blob([response.data], {type: "application/pdf;charset=utf-8"});
 var blob = new Blob([response.data], {type: "text/plain;charset=utf-8"});

两者都可以,但标题应该是

{responseType:"arraybuffer"}

数据类型当然应该是application/pdf

内容应在base64上,因此blob应以开头

data:application/pdf;base64,

正如您在jspdf库源代码中看到的那样。

享受演示。

PDF完全是另一种格式,FileSaver的唯一任务就是保存文件。

您可以使用jsPDF库来做到这一点。以下是在您的案例中使用它的方法:

var filename = "myfile.csv";
var s = "my csv text content";
var pdf = new jsPDF();
pdf.text(10, 10, s);
pdf.save(filename.replace(".csv", ".pdf"));