jspdf lib中的fromhtml方法问题

时间:2019-09-18 10:09:13

标签: javascript pdf jspdf fromhtml

我需要将html转换为pdf,然后找到jspdf lib。但是我遇到了麻烦。如果<p>标签内部包含一些文本,例如:text<br /><br />text,则该文本无效。我在控制台中遇到以下错误:

Uncaught TypeError: Cannot read property '1' of undefined
at Renderer.renderParagraph (from_html.js:967)
at Renderer.setBlockBoundary (from_html.js:1018)
at DrillForContent (from_html.js:529)
at DrillForContent (from_html.js:497)
at from_html.js:669
at done (from_html.js:539)
at loadImgs (from_html.js:569)
at process (from_html.js:667)
at Object.jsPDFAPI.fromHTML (from_html.js:1105)
at saveDocument (index.js:17)

在脚本导入中,我有下一个模块:

  • jquery.min.js
  • jspdf.min.js
  • split_text_to_size.js
  • from_html.js
  • standard_fonts_metrics.js

HTML:

<div id="blank">
     <p>some text<br /><br />another text</p>   
</div>
<button onclick="saveDocument();">Save PDF</button>

JavaScript:

function saveDocument() {
    var pdf = new jsPDF();
    var content = $('#blank').html();
    pdf.fromHTML(content, 15, 15, {
        'width': 170
    });
    pdf.save('document.pdf');
}

我现在不解决该问题吗?

2 个答案:

答案 0 :(得分:1)

您必须使用单独的<p>标签:

<p>some text</p><br /><br />
<p>another text</p>   

答案 1 :(得分:0)

最后使用https://www.npmjs.com/package/html2pdf-fix-jspdf,它通常是jspdf的包装。

我无法使用单独的p标签,因此我尝试了所有可能的解决方案。就像使用

和\ r \ n一样,但在我的情况下没有任何效果。

只是分享可能会有所帮助

相关问题