Кукловод творит плохой pdf - PullRequest
1 голос
/ 04 октября 2019

Я использую Puppeteer для создания PDF из моего статического локального HTML-файла. PDF создан, но он поврежден. Adobe Reader не может открыть файл и говорит: «Плохой дескриптор файла»какие-либо предложения?

Я использую ниже стандартный код:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('local_html_file', {waitUntil: 'networkidle2'});
  await page.pdf({path: 'hn.pdf', format: 'A4'});

  await browser.close();
})();

Я также пробовал setContent (), но тот же результат. Однако функция page.screenshot () работает.

Ответы [ 2 ]

1 голос
/ 05 октября 2019

Возможно, ваш код вызывает исключение . Вы должны убедиться, что размер файла pdf не равен " zero ", и вы можете прочитать свой файл pdf с помощью команды less или cat . Иногда программное обеспечение создателей PDF-файлов может записывать ошибки в начало содержимого PDF-файла.

const puppeteer = require('puppeteer');

(async () => {
  try{
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('local_html_file', {waitUntil: 'networkidle2'});
  await page.pdf({path: 'hn.pdf', format: 'A4'});

  await browser.close(); 
  }catch(e){
   console.log(e);
  }
})();
0 голосов
/ 05 октября 2019

Проблема была в названии pdf-файла, который я дал - 'con.pdf'. Это похоже на зарезервированное имя в windows и, следовательно, неправильный дескриптор файла. : D Какое совпадение !!! Спасибо всем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...