Я использую html2canvas для преобразования html в изображение, а затем экспортирую в файл PDF. Вот мои шаги с использованием этого пакета:
пряжа добавить html2canvas
добавьте код для преобразования html в изображение.
async export(comp, doc, save) { // create pdf file let height = REPORT_PAGE.top; const header = comp.reportHeader.nativeElement; const headerCanvas = await html2canvas(header, {svgRendering: true}); height = REPORT_PAGE.top; let imgHeightHtml = REPORT_PAGE.header * REPORT_PAGE.width / headerCanvas.width; let contentDataURL = headerCanvas.toDataURL('image/png'); doc.addImage(contentDataURL, 'PNG', REPORT_PAGE.left, height, REPORT_PAGE.width, imgHeightHtml); if (save) { doc.save('myreport.pdf'); } else { doc.addPage(); } }
где comp — угловой компонент, doc — jsPDF, save — логическое значение. Следующая ошибка будет вызвана при вызове html2canvas.
Uncaught (in promise): [object Undefined]
at resolvePromise (zone.js:814)
at resolvePromise (zone.js:771)
at zone.js:873
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
at Object.onInvokeTask (core.js:4053)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
at drainMicroTaskQueue (zone.js:595)
at push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask (zone.js:500)
at ZoneTask.invoke (zone.js:485)
html2canvas — очень полезный пакет, но эта ошибка очень опасна. Пожалуйста помоги.
export
— это зарезервированное слово, просто к вашему сведению. - person Phix   schedule 03.10.2018