Я пытаюсь экспортировать определенную страницу из моего приложения Angular / nodeJs с помощью «pdfmake», чтобы она отображалась в качестве параметра загрузки на той же странице после того, как я услышал, что лучший способ экспортировать pdf - черезконец.Однако после прочтения руководства и следования руководству код записывает данные в мой заголовок, но больше ничего не делает.
В прошлом я пытался следовать приведенному ниже учебнику и прочиталметод документации pdfmake.https://www.youtube.com/watch?v=0910p09D0Sg https://pdfmake.github.io/docs/getting-started/client-side/methods/
Я не уверен, должен ли pdfmake использоваться только «безголовым хромом» (о котором я не обладаю большими знаниями), и удивляюсь, может ли мой метод работать.
Я также пытался использовать функции .download () и .open () с pdfMake.createPdf (), что приводило к ошибкам.
Код NodeJs
router.post('/pdf', (req, res, next) => {
var documentDefinition = {
content: [
'First paragraph',
'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines'
]
}
const pdfDoc = pdfMake.createPdf(documentDefinition)
pdfDoc.getBase64((data) => {
res.writeHead(200, {
'Content-Type': 'application/pdf',
'Content-Disposition': 'attachment;filename="filename.pdf"'
});
const download = Buffer.from(data.toString('utf-8'), 'base64');
res.end(download);
})
})
Угловой код
savePDF() {
this.api.post('/bookings/pdf')
.then(res => {
console.log(res);
});
}
В этом случае функция savePDF () вызывается, когда пользователь нажимает кнопку на веб-странице.
Поскольку после нажатия кнопки I ничего не происходитрешил console.log результат, который отображался как очень длинная строка данных.
Данные документа pdf на данный момент содержат только тестовые данные, поскольку я пытался заставить работать ссылку для скачивания, прежде чем пытаться загрузить веб-страницу.сам.
Я также могу заверить вас, что нет ничего плохого в маршрутизации, и функции вызываются правильно.
Я ожидал, что функция savePDF () начнет загрузку pdf, содержащеготесДанные, отображаемые в содержимом NodeJs «documentDefinition», но фактический результат, похоже, ничего не сделал.