function downloadPDF(){
apply_print_style();
var element = document.getElementById('LIMS_ROI_calculator');
var opt = {
margin: 0.2,
filename: 'LIMS_ROI_calculator.pdf',
pagebreak: { mode: ['avoid-all', 'css', 'legacy'], before:'#page_02',},
jsPDF:{ unit: 'in', format: 'a3', orientation: 'portrait' }
};
// New Promise-based usage:
html2pdf().set(opt).from(element).save();
}
html2pdf.js 在 ios 设备中打印空白 pdf
尝试:
setTimeout(function() {
html2pdf().set(opt).from(element).save();
}, 1000);
或:
document.addEventListener("DOMContentLoaded", function() {
// call html2pdf() here
}
还有:
jsPDF: { unit: 'in', format: 'a4', orientation: 'portrait' }
尝试 a4 与 a3
这是图书馆的一个已知问题。原因是 html2pdf.js 在转换为 pdf 之前将所有内容渲染到单个 html canvas 元素。如果文档的大小超出了浏览器对 html canvas 元素大小的限制,则 pdf 最终会变成空白。
这是所有设备和浏览器上的问题,但在 iOS 上尤其明显,因为 iOS 的画布大小限制较小。
您可以使用 html3pdf,它是 html2pdf.js 的一个分支,修复了一些错误,包括这个。 html3pdf 在自己的画布上渲染每个页面,因此您可以拥有的页面数量没有限制(尽管速度较慢)。