PhantomJS包 - 将html转换为pdf问题

时间:2017-12-09 08:07:11

标签: node.js phantomjs

我正在使用PhantomJS包将HTML页面转换为pdf。我正在使用下面的代码生成pdf文件。

const phantom = require('phantom');

(async function() {
  const instance = await phantom.create();
  const page = await instance.createPage();

  await page.property('viewportSize', { width: 1024, height: 600 });
  const status = await page.open('https://stackoverflow.com/');
  console.log(`Page opened with status [${status}].`);

  await page.render('stackoverflow.pdf');
  console.log(`File created at [./stackoverflow.pdf]`);

  await instance.exit();
})()

使用上面的代码pdf生成成功。 但生成的pdf的页面太长而不是A4大小。你能告诉我如何解决这个问题。

查看生成的PDF - https://drive.google.com/file/d/1RfKZd5ZPFpYDOkiPR6mFt_5M0BhRbTXQ/view

1 个答案:

答案 0 :(得分:0)

您应该设置page paperSize

  

paperSize {object}

     

此属性定义以PDF格式呈现时网页的大小。

page.paperSize = {
  width: '8.267in',
  height: '11.692in',
  margin: {
    top: '50px',
    left: '20px'
  }
};