我遇到的问题是我想将我的Vue HTML转换为pdf并将其下载给用户。我尝试过使用JSPDF
但它会下载一个空白页面。当我只传递文本时它会下载。
var doc = new jsPDF();
// All units are in the set measurement for the document
// This can be changed to "pt" (points), "mm" (Default), "cm", "in"
setTimeout(function () {
doc.fromHTML(document.getElementById('profile'), 15, 15, {
'width': 170
});
doc.save('two-by-four.pdf')
} , 6000);
我该如何解决这个问题?
答案 0 :(得分:0)
在打印结果之前,尝试使用canvas在base 64中转换html页面的内容。这是我自己的功能,使用画布打印
printFacture() {
var pdf = new jsPDF();
var element = document.getElementById('facture');
var width= element.style.width;
var height = element.style.height;
html2canvas(element).then(canvas => {
var image = canvas.toDataURL('image/png');
pdf.addImage(image, 'JPEG', 15, 40, width, height);
pdf.save('facture' + moment(this.facture.date_debut).format('LL') + '_' + moment(this.facture.date_fin).format('LL') + '.pdf';
});
}
希望它会对你有所帮助。
答案 1 :(得分:0)
createPDF () {
let pdfName = 'mes-enfants';
var doc = new jsPDF();
doc.fromHTML(document.getElementById('print'), 15, 15, {
'width': 170
});
doc.save(pdfName + '.pdf');
}