Мне нужна таблица для печати в формате pdf и не отбрасывать css, привязанную к таблице. Я также использую angularjs. Я смотрю по-разному, и я экспериментирую с jsPDF.jsPDF - Точно захватить html-страницу в PDF
На главной странице (rollup.html) у меня есть ссылка, которая должна экспортировать таблицу в формате pdf.
<a style="float: right;" href="genPDF()">PDF TEST</a>
В JS (rollup.js) внутри контроллера, у меня есть функцию genPDF, которая должна отображать все включено в #testDiv идентификатора.
app.controller('Rollup', function($scope, $rootScope, $http, $uibModal, headersvc, locFiltersvc) {
....
function genPDF(){
html2canvas(document.getElementById("testDiv"), {
onrendered: function (canvas) {
var img = canvas.toDataURL("image/png");
var doc = new jsPDF();
doc.addImage(img, 'JPEG',20,20);
doc.save('test.pdf');
}
});
}
});
Конечно, я назначен testDiv в DIV, содержащий таблицу я хочу напечатанный (который находится в route.html)
<div class="content-div" style="overflow: visible;" id="testDiv">
....
</div>
У меня есть другая кнопка, которая работает для остальных вкладок с помощью ng-click и транслирует данные из других таблиц, которые были проще, без css. Не уверен, что я должен попытаться распечатать таблицу, используя ng-click и передавая данные таблицы, но со всеми css.
<li style="float: right;">
<button ng-click="printDiv('rollup-tab')">Printer Friendly</button>
</li>
В консоли не было обнаружено ошибок для метода jsPDF, поэтому не знаю, в чем проблема. Любая помощь приветствуется. Спасибо
спасибо. Я изучаю его прямо сейчас. – Adrew
. Учебник, которым я пользовался, был [это] (https://www.youtube.com/watch?v=WJOfCnoqShw). Это показывает, как сделать снимок html для печати в виде pdf, используя jsPDF, но, похоже, не работал для меня. Метод, который вы мне присылаете, кажется, что мне нужно воссоздать всю таблицу с пользовательским вводом и css. – Adrew
Я лично рассмотрел вариант, который вы предпочтете использовать, но есть недостатки, связанные с CSS и выбором браузеров, которые в конечном итоге определят вывод в документе PDF. Библиотека jsPDF AutoTable является гораздо более гибким подходом и гарантирует, что контент будет правильно размещен независимо от выявленных ограничений. Хотя это дополнительная работа, она в конце концов окупится и в долгосрочной перспективе более управляема. –