Как распечатать всю страницу с помощью Html2Canvas и JsPDF

Я хотел сохранить всю страницу в формате pdf, используя html2canvas и JsPDF. ни один из методов, которые я когда-либо пробовал, похоже, не работает.

html2canvas(document.body, {
        allowTaint: true,
        onrendered: function(canvas) {
            var image = canvas.toDataURL('image/png');

            var pdf = new jsPDF();
            pdf.addImage(image, 'JPEG', 0, 0);
            pdf.save('invoice.pdf');
        }
    });

В настоящее время это печатает только область просмотра

Как распечатать всю страницу / контейнер. или любые другие лучшие альтернативы?


person Sibiraj    schedule 04.08.2017    source источник
comment
почему вы сохраняете это как PDF? вы просто хотите распечатать содержимое документа?   -  person Pixelomo    schedule 04.08.2017
comment
некоторые стили не поддерживаются встроенной опцией печати. вот почему @AlanSutherland   -  person Sibiraj    schedule 04.08.2017
comment
@SibiRaj вы можете использовать html2canvas и pdfmake   -  person Nikhil Radadiya    schedule 04.09.2017
comment
поддерживает ли pdfmake CSS? @NikhilRadadiya. также на моей странице есть некоторые функции angularjs   -  person Sibiraj    schedule 04.09.2017
comment
@SibiRaj вы можете преобразовать html в изображение холста, а затем вы можете сгенерировать PDF-изображение холста   -  person Nikhil Radadiya    schedule 04.09.2017
comment
да. Я пробовал это. Он работает, но самая большая проблема, с которой я сталкиваюсь, - это это. Html2canvas преобразует только видимую область. содержимое, скрытое ниже с помощью прокрутки, опускается   -  person Sibiraj    schedule 04.09.2017


Ответы (1)


Используйте запрос печатных СМИ

@media print {
      body, html {
          width: 100%;
          margin-top: 0%;
          display: block;
          height: 100%;
      }
}
person Pixelomo    schedule 04.08.2017
comment
если вы найдете мой ответ полезным, примите его и проголосуйте за него - person Pixelomo; 04.09.2017
comment
параметр печати по умолчанию имеет свои ограничения и варианты в разных браузерах. так что ищу лучший вариант - person Sibiraj; 04.09.2017