最近2天的简单问题搜索,但未找到解决方案
我正在使用jsPDF的addHTML api将html转换为pdf
$('#loadPdf').on('click', function() {
var pdf = new jsPDF('p', 'in', 'a4');
pdf.addHTML($('#complete')[0], function() {
pdf.save('new.pdf');
pdf.output('datauri');
});
});
这将产生模糊图像pdf文本显示模糊。我进行了很多搜索,找到了一些链接(在下面共享),但没有得到答案。
html2canvas-generates-blurry-images
addHTML image quality
jspdf and addHTML / blurry font
有什么方法可以获取高质量的图像pdf。如果我不使用addHTML api并使用其他任何API,则图像不会以pdf显示。请帮忙
最佳答案
似乎许多人仍在使用pdf.addHTML()
并存在相同的低质量问题。 pdf.addHTML()
实际上实际上是deprecated。新的支持 vector 的API pdf.html()
效果更好。自己看看他们的sample。这是使用jsPDF和 html2canvas 1.0.0-alpha.11
的工作代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.debug.js"
integrity="sha384-NaWTHo/8YCBYJ59830LTz/P4aQZK1sS0SneOgAvhsIl3zBu8r9RevNg5lHCHAuQ/"
crossorigin="anonymous">
</script>
<script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
<script>
function download() {
let pdf = new jsPDF('l', 'pt', 'a4');
pdf.html(document.getElementById('id'), {
callback: function () {
//pdf.save('test.pdf');
window.open(pdf.output('bloburl')); // to debug
}
});
}
</script>