木偶制造不良的pdf

时间:2019-10-04 18:17:22

标签: javascript html node.js pdf puppeteer

我正在使用puppeteer从我的静态本地html文件创建pdf。 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 个答案:

答案 0 :(得分:1)

您的代码可能会触发例外。您应该检查pdf文件的大小是否不是“ ”,并且可以使用 less cat 命令读取pdf文件。有时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);
  }
})();

答案 1 :(得分:0)

问题是我给的pdf文件名-'con.pdf' 这似乎是Windows中的保留名称,因此文件处理不正确。 :D 真是巧合! 谢谢大家。