jspdf 库中的 fromhtml 方法问题
Issue with fromhtml method in jspdf lib
我需要将 html 转换为 pdf,我找到了 jspdf 库。但是我运行陷入了困境。如果 <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');
}
我现在不知道如何解决?
您必须使用单独的 <p>
标签:
<p>some text</p><br /><br />
<p>another text</p>
最终使用 https://www.npmjs.com/package/html2pdf-fix-jspdf,它通常是 jspdf 的包装器。
在我的案例中,单独的 p 标签是不可能的,我为此尝试了所有可能的解决方案。就像使用
和 \r\n 但在我的情况下没有任何作用。
分享可能有用
我需要将 html 转换为 pdf,我找到了 jspdf 库。但是我运行陷入了困境。如果 <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');
}
我现在不知道如何解决?
您必须使用单独的 <p>
标签:
<p>some text</p><br /><br />
<p>another text</p>
最终使用 https://www.npmjs.com/package/html2pdf-fix-jspdf,它通常是 jspdf 的包装器。
在我的案例中,单独的 p 标签是不可能的,我为此尝试了所有可能的解决方案。就像使用
分享可能有用