кукловод в angular - в печать pdf - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь напечатать pdf (преобразовать html страницу в pdf) в приложении Angular 9. Я использовал кукловода для достижения sh того же - но столкнулся с проблемами -

Ниже мой код

exportPdf(){
    const url = window.location.href;
    (async () => {
      const browser = await puppeteer.launch({headless:true});
      const page = await browser.newPage();
      await page.goto(url);
      await page.pdf({path:'medium.pdf'});
      await browser.close();
    })();

  }

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

  1. Не могу разрешить 'ws' - я установил ws через npm install и изменил WebSocketTransport. js, чтобы прочитать from - node_modules / ws
const WebSocket = require('../node_modules/ws'); --> after adding the path error disappeared
const WebSocket = require('ws') --> this was not working
Я получил неопределенные ошибки для переменных 'global', 'buffer' и 'process' - я добавил для него прокладки в мой файл polyfill.ts
(window as any).global = window;
global.Buffer = global.Buffer || require('buffer').Buffer;
(window as any).process = {
    version: ''
  };
Теперь после всего этого, когда я бегу, я все еще получаю ошибку ниже
Uncaught TypeError: Cannot read property 'PUPPETEER_PRODUCT' of undefined
    at Launcher (Launcher.js:855)
    at Object.get _launcher [as _launcher] (Puppeteer.js:63)
    at Object.get (<anonymous>)
    at Function.installAsyncStackHooks (helper.js:106)
    at Object../node_modules/puppeteer/index.js (index.js:22)
    at __webpack_require__ (bootstrap:84)
    at Module../src/app/shared/export-pdf/export-pdf.component.ts (tooltip.directive.ts:29)
    at __webpack_require__ (bootstrap:84)
    at Module../src/app/shared/shared.module.ts (shared.module.ts:1)
    at __webpack_require__ (bootstrap:84)

Пожалуйста, дайте мне знать ваши мысли. Спасибо.

...