Снимок экрана изображения обрезается внизу страницы PDF, созданной с использованием jspdf - PullRequest
0 голосов
/ 24 марта 2019

С помощью приведенного ниже кода я могу успешно конвертировать 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, янеобходимо выполнить два других требования.

...