У меня есть счет-фактура pdf, содержащая строки таблицы, которые могут увеличиваться, я точно знаю, как добавлять страницы с помощью jsPDF, но проблема в том, что я обрезаю мое изображение, и это действительно раздражает, когда у вас есть динамический контент для печати.
Как разделить изображение холста, не разрезав его? есть ли решение?
PS: я не хочу, чтобы мой холст целиком помещался на одной странице PDF, потому что я могу потерять качество своего изображения, и оно становится особенно насыщенным, когда у пользователя много строк счета
Вот экран моего результата pdf:
TypeScript:
public convertToPDF() {
const data = document.getElementById('contentToConvert');
html2canvas(data).then(canvas => {
this.imgWidth = 200;
this.imgHeight = (canvas.height * this.imgWidth / canvas.width);
this.pageHeight = 295;
this.heightLeft = this.imgHeight;
const contentDataURL = canvas.toDataURL('image/png');
const pdf = new jspdf('p', 'mm', 'a4', true);
this.position = 5;
pdf.addImage(contentDataURL, 'PNG', 5, this.position, this.imgWidth, this.imgHeight, '', 'FAST');
this.heightLeft -= this.pageHeight;
while (this.heightLeft >= 0) {
this.position = this.heightLeft - this.imgHeight;
pdf.addPage();
pdf.addImage(contentDataURL, 'PNG', 5, this.position, this.imgWidth, this.imgHeight);
this.heightLeft -= this.pageHeight;
}
pdf.save('Facture' + '-' + this.client.nomRepresentant + this.facture.dateFacturation.format('YYYYMM') + '.pdf');
});
}