Phantomjs节点设置页眉,页脚

时间:2014-02-13 10:17:43

标签: node.js express phantomjs ejs

如何使用phantomjs与节点设置页眉和页脚,基本上我从html生成pdf并且我愿意从节点添加我的页眉和页脚,我尝试了以下但是pdf没有显示任何数据,我正在阅读空白页面并愿意添加页眉和页脚,这是我的代码:

// Load ejs template
fs.readFile(__dirname + '/../pdf' + pdfpath, 'utf8', function (err, data) {

  // Render the page to variable.
  var html = ejs.render(data, pdfJSON);

  // Set this html as the content for the pdf file.

  page.set('content', html);

  page.set('generatePDF', function (pageNum, numPages) {

    if (pageNum == 1) {
      return "";
    }
    return "<h1>Header <span style='float:right'>" + pageNum + " / " + numPages + "</span></h1>";
  });

  page.set('paperSize', {
    width: 1200,
    height: 1500,
    header: {
      height: "1cm",
      contents: phantom.generatePDF
    }
  });

  console.log(phantom.generatePDF);//return undifned

  page.set('paperSize', {
    width: 1200,
    height: 1500
  });

  // Generate the pdf.
  var fileName = __dirname + '/pdfdata/' + f.formType + f.formId + '.pdf';
  page.render(fileName, cb);

});

我如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

看看这些例子:

https://github.com/ariya/phantomjs/blob/master/examples/printheaderfooter.js

编辑:对不起,没有注意到你问过Node,你也可以在这里找到一些解决方案和答案:

Footer's contents don't seem to work