Есть ли способ экспортировать и загрузить вашу веб-страницу Angular переднего плана в pdf, используя pdfmake внутреннего узла nodeJs? - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь экспортировать определенную страницу из моего приложения 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», но фактический результат, похоже, ничего не сделал.

...