我正在jspdf插件的帮助下从html文档创建pdf。 它正在生成pdf,但字体看起来模糊且像素化。您能否建议我如何提高pdf的质量和pdf中的字体?这是下面的我的jspdf代码:
function GeneratePDF() {
var pdf = new jsPDF("p", "pt", "a4");
var pdfName = 'Reports.pdf';
var options = {};
document.getElementById('page-loader').style.display='block';
var $divs = $('.target');
var numRecursionsNeeded = $divs.length - 1;
var currentRecursion = 0;
function recursiveAddHtmlAndSave(currentRecursion, totalRecursions) {
if (currentRecursion == totalRecursions) {
document.getElementById('page-loader').style.display='none';
pdf.save(pdfName);
} else {
currentRecursion++;
pdf.addPage();
pdf.addHTML($('.target')[currentRecursion], 6, 7, options, function () {
// console.log(currentRecursion);
recursiveAddHtmlAndSave(currentRecursion, totalRecursions)
});
}
}
pdf.addHTML($('.target')[currentRecursion], 6, 7, options, function () {
recursiveAddHtmlAndSave(currentRecursion, numRecursionsNeeded);
});
}
答案 0 :(得分:0)
addHTML()
生成的PDF质量很差。为了提高质量,请尝试使用以下pdf.internal.scaleFactor = 30;
var pdf = new jsPDF('l', 'in', 'a4');
pdf.internal.scaleFactor = 30;
pdf.addHTML($('#print-area')[0], function() {
pdf.save(calendarName);
});
答案 1 :(得分:0)
我注意到您正在使用pdf.addHTML()
,它是基于jsPDF文档的deprecated。建议您点击此处的链接,并使用pdf.html()
(支持向量的API)。
function GeneratePDF() {
let pdf = new jsPDF('p', 'pt', 'a4');
pdf.html(document.body, {
callback: function (pdf) {
pdf.save('test.pdf');
}
});
}