You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在jsPDF中通过Blob URL自定义PDF输出文件名?

解决jsPDF通过Blob URL下载时自定义文件名的问题

不用修改jsPDF源码,通过浏览器标准API就能实现自定义文件名,具体步骤如下:

  1. 生成PDF的Blob对象
    调用jsPDF的output('blob')方法获取PDF对应的Blob实例:

    const doc = new jsPDF();
    doc.text('测试内容', 10, 10);
    const pdfBlob = doc.output('blob');
    
  2. 通过a标签指定自定义文件名并触发下载
    Blob URL本身是浏览器生成的临时地址,不包含文件名信息,我们需要利用a标签的download属性来设置自定义文件名:

    // 创建隐藏的a标签
    const downloadLink = document.createElement('a');
    // 生成Blob URL
    downloadLink.href = URL.createObjectURL(pdfBlob);
    // 自定义文件名(可传入变量动态生成)
    const customFileName = `我的自定义文档_${new Date().toLocaleDateString()}.pdf`;
    downloadLink.download = customFileName;
    // 触发点击下载
    downloadLink.click();
    // 释放Blob URL资源,避免内存泄漏
    URL.revokeObjectURL(downloadLink.href);
    

补充说明

jsPDF的save()方法内部其实已经封装了上述逻辑,自动帮你创建a标签并设置download属性;而手动使用Blob URL时,只是把这个过程拆开来自己实现,完全不需要修改jsPDF源码。

内容的提问来源于stack exchange,提问作者JBAL27

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 21:34:56