как получить полную веб-страницу в формате pdf в pdfmake?

Я работаю над веб-приложением, и мне нужно преобразовать HTML-страницу (имеющую несколько таблиц и таблиц данных) в PDF. Я использую pdfmake для преобразования содержимого страницы в PDF.

Это скрипт, который я использую для этого

<script type="text/javascript" >
var docDefinition = { content: "This is a sample PDF" };
alert("Will this work ");
pdfMake.createPdf(docDefinition).download('test.pdf');      
</script>

Теперь я хочу преобразовать полные HTML page в PDF, но понятия не имею, как это сделать в pdfmake.

В jsPDF есть что-то вроде этого

<script>
     function demoFromHTML() {
         var pdf = new jsPDF('p','pt','a4');
         pdf.addHTML(document.body,{pagesplit:true},function() {
                  pdf.save('Test.pdf');
              }); 
           document.getElementById('buttons').style.visibility = 'hidden';

    }
</script>

то есть document.body для преобразования полной веб-страницы в PDF. Есть ли аналогичный код в pdfmake.

Есть ли другой способ конвертировать всю веб-страницу в pdf, кроме jsPdf, который использует javascript?


person Chirag Kawariya    schedule 08.01.2016    source источник
comment
Вы хотите преобразовать только содержимое или всю страницу со стилями изображений и текстовыми эффектами? Проверьте первый ответ в этой теме SO [ссылка] stackoverflow.com/questions/31610129/   -  person Satyaki Chatterjee    schedule 08.01.2016
comment
@SatyakiChatterjee — Завершите страницу, потому что эта HTML-страница содержит таблицы, таблицы данных и значки. Я знаю, что есть способ конвертировать таблицы в PDF, но в моем случае это dataTables, которые, очевидно, являются динамическими. .   -  person Chirag Kawariya    schedule 08.01.2016
comment
вы проверяли ссылку в моем комментарии?   -  person Satyaki Chatterjee    schedule 08.01.2016


Ответы (1)


Насколько я знаю, на данный момент в исходном проекте pdfmake или плагине нет механизма синтаксического анализа html, который соответствует этой необходимости рендеринга содержимого html в pdf. Я думаю, вам следует использовать jspdf для этого. Я лично использую обе библиотеки в зависимости от того, чего я пытаюсь достичь. Они не конфликтуют друг с другом. JSPDF на данный момент является более полным и имеет больше возможностей и плагинов, чем pdfmake. jspdf отлично подходит для создания любых PDF-файлов, вы даже можете создавать графики и рисовать объекты. pdfmake лучше, если вам нужен простой документ с текстом, изображениями и таблицами. Я знаю, что в jspdf немного неудобно всегда играть с X и Y, когда вам просто нужен текст и изображения.

ОБНОВЛЕНИЕ: кажется, есть планы по поддержке этого. Следите за этой веткой для этой функции. https://github.com/bpampuch/pdfmake/issues/205

Для этого также есть плагин (я его не тестировал): https://github.com/ymkins/html2pdfmake/blob/master/html2pdfmake.js

person revobtz    schedule 29.09.2016
comment
github.com/ymkins/html2pdfmake/blob/master/html2pdfmake.js работает идеально. - person Suraz Khanal; 15.12.2016