【问题标题】:jsPDF - .addHTML is not a functionjsPDF - .addHTML 不是函数
【发布时间】:2018-11-11 18:42:06
【问题描述】:

我正在尝试使用 jsPDF 库将我的 HMTL 页面(表单)转换为 pdf,这是我所做的:

var pdf = new jsPDF();
var btn = document.getElementById("btn");

btn.addEventListener('click', function(){
    pdf.addHTML(document.body,function() {
        pdf.save('test.pdf');
    });
});

“btn”是我单击以获取 pdf 的按钮。我遇到的问题是,当我单击此按钮时,我收到 TypeError: pdf.addHTML() is not a function at HMTLButtonElement. 消息。在浏览了几篇具有相同主题的帖子后,我看不出我缺少什么:

  • 我已经下载了jsPDF库
  • 我已经在我的 npm 文件夹中下载了 rasterizehtml(我也尝试使用 html2canvas,结果相同)
  • 我通过随处可见的链接使用 jspdf.debug.js
  • 我的 jsPDF 库中有 addhtml.js 文件

如果可以更清楚的话,这是我的脚本:

<script src="C:/Users/trist/AppData/Roaming/npm/node_modules/rasterizehtml/dist/rasterizeHTML.allinone.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>
<script src="js/jsPDF-1.3.2/jspdf.js"></script>

有谁知道我怎样才能做到这一点?

【问题讨论】:

标签: javascript html pdf typeerror jspdf


【解决方案1】:

这可能是因为您正在调用两个不同版本的 jsPDF。试试

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.4.0/jspdf.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/rasterizehtml/1.3.0/rasterizeHTML.allinone.js"></script>

【讨论】:

  • 谢谢我不再有错误了,现在它正在处理一个简单的 HTML 代码,但在具有不同 div 的复杂表单上似乎没有这样做(它什么都不做,没有下载和没有错误,只是重新启动页面),但我会尝试在某个地方找到解决方案,再次感谢! :)
  • @Tristan 请将此答案标记为正确(复选标记)。至于您的新问题,请发布一个单独的 stackoverflow 问题。如果您将其与示例(即 jsfiddle)一起发布,则更有可能得到回答。
猜你喜欢
  • 1970-01-01
  • 2020-03-23
  • 2014-10-19
  • 2014-11-12
  • 2017-11-27
  • 2019-01-23
  • 2015-12-20
  • 2017-11-02
  • 2014-12-02
相关资源
最近更新 更多