Сохранить PDF в файл с помощью кукловода - PullRequest
0 голосов
/ 06 ноября 2018

Я использую кукловода, чтобы получить PDF с помощью Fetch API и сохранить файл на диск.

Я пытаюсь сохранить PDF в файл на диске, но когда я открываю PDF, я вижу белый экран.

enter image description here

enter image description here

!! Edited !!

Нашел решение здесь https://github.com/GoogleChrome/puppeteer/issues/299#issuecomment-340199753

1 Ответ

0 голосов
/ 06 ноября 2018

Поскольку вы уже используете Puppeteer, лучший способ сохранить веб-страницу в PDF - просто открыть ее с помощью Puppeteer, а затем с помощью API Puppeteer для сохранения PDF.

Функция page.pdf() делает именно это. См. Документы .

Я предполагаю, что при использовании fetch() вы загружаете только getPdf.asp, который сам по себе не создает действительный поток ответов PDF. Возможно, он отвечает только HTML-кодом на стороне клиента, включая скрипт, который извлекает PDF-файл из некоторого удаленного ресурса.

Я бы таким образом попробовал:

await page.goto(PDF_PAGE_URL);
const pdfBuffer = await page.pdf();
// process the buffer

Надеюсь, это поможет!

...