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

Angular10使用jsPDF@2.3.1调用fromHTML方法提示属性不存在如何解决?

报错原因
  • jsPDF从2.0.0版本开始正式废弃了旧版的fromHTML() API,你使用的2.3.1版本已经完全移除了该方法,所有沿用1.x版本教程调用fromHTML()的代码都会抛出该错误。
  • Angular 10使用TypeScript开发,jsPDF 2.x版本内置的TS类型定义中已经完全删除了fromHTML的相关声明,因此编译阶段就会直接报属性不存在的错误。
修复方案

方案1:使用官方推荐的替代API(推荐)

2.x版本官方使用html()方法完全替代原fromHTML()的能力,适配性和转换效果更好,调整代码即可直接使用:

  • 先卸载可能存在的旧版类型依赖,避免类型冲突:
    npm uninstall @types/jspdf
    
  • 替换原有转换逻辑,示例代码如下:
    import jsPDF from 'jspdf';
    
    // 建议在ngAfterViewInit生命周期或DOM渲染完成后调用
    generatePdf() {
      const doc = new jsPDF();
      const targetDom = document.getElementById('your-html-element-id');
      doc.html(targetDom, {
        callback: (pdf) => {
          pdf.save('export.pdf');
        },
        // 自定义PDF内内容的边距
        x: 15,
        y: 15
      });
    }
    

方案2:降级jsPDF到1.x版本(不推荐)

如果必须沿用原有fromHTML()的代码逻辑,可以将jsPDF降级到还保留该API的1.x版本:

npm install jspdf@1.5.3

注意:1.x版本不再维护,存在浏览器兼容性差、转换样式错乱等已知问题,非必要不建议使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 04:12:05