【问题标题】:Give jspdf() blob a filename给 jspdf() blob 一个文件名
【发布时间】:2017-01-11 20:35:37
【问题描述】:

我在移动设备上使用 jspdf() 与在桌面上保存生成的 pdf 的方式不同。我在这里使用 blob - Download using jsPDF on a mobile devices 找到了这个解决方法,它确实创建了一个在移动设备上打开的 pdf。我唯一的问题是该文件随后被称为 blob - 在我看来这不是很专业 - 如果该文件随后在 ibooks 中打开,它显示为未知,因为没有文件详细信息。

这是我正在使用的代码

if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))
{
   var blob = pdf.output();
   window.open(URL.createObjectURL(blob));
}
else
{
   pdf.save('results.pdf');
}

有没有办法给 blob 命名?

【问题讨论】:

  • “blob”有什么不专业的?它代表“二进制大对象”。
  • 对于程序员来说可能是,但对于街上的人来说它有其他含义 - dictionary.com/browse/blob - 所以我想将我的文件称为 results.pdf
  • 我尝试在 var 声明中使用各种选项,例如 pdf.output('D','charts') 但这完全停止了它的工作

标签: mobile blob jspdf


【解决方案1】:

创建一个新文件,然后为文件命名:

pdfAttachment : Files; //declare the file
newName = 'new_file_name'      
this.pdfAttachment = new File([doc.output('blob')], newName, {
      type: doc.output('blob').type,
      lastModified: doc.output('blob').lastModified,
    });

【讨论】:

    猜你喜欢
    • 2021-10-12
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 2010-12-02
    • 2016-07-10
    • 2015-03-26
    相关资源
    最近更新 更多