С помощью приведенного ниже кода я могу успешно конвертировать html в pdf и загружать pdf с нескольких страниц.
public generatePDF() {
var data = document.getElementById('contentToConvert');
html2canvas(data, { scale:2,
onclone: function (clonedDoc) {
clonedDoc.getElementById('contentToConvert').style.display = 'block';
}
}).then(canvas => {
const contentDataURL = canvas.toDataURL('image/jpeg', 1.0);
var imgWidth = 210;
var pageHeight = 295;
var imgHeight = canvas.height * imgWidth / canvas.width;
var heightLeft = imgHeight;
var doc = new jspdf('p', 'mm');
var position = 0;
doc.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
while (heightLeft >= 0) {
position = heightLeft - imgHeight;
doc.addPage();
doc.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
}
doc.save('test.pdf');
});
}
Мое требование - создать PDF со следующими требованиями
1) Динамическое добавление страниц (что уже происходит) 2) Динамическое добавление div в качестве заголовка для всех страниц 3) Отсутствие усечения данных внизу страниц
Я могу достичь пункта № 1, янеобходимо выполнить два других требования.