【问题标题】:Node JS Html-pdf : create different header footer for first and last pageNode JS Html-pdf:为第一页和最后一页创建不同的页眉页脚
【发布时间】:2018-07-15 04:36:16
【问题描述】:

我是 node js 的新手,我想在 node js 中的第一页和最后一页使用不同的页眉和页脚,

我正在使用 html-pdf 模块,当我使用与他们提供的相同代码时,该模块无法正常工作。

请查看代码

var fs = require('fs');
var pdf = require('html-pdf');
var html = fs.readFileSync('test.html', 'utf8');
var options = { format: 'Letter' };

pdf.create(html, options).toFile('businesscard.pdf', function(err, res) {
  if (err) return console.log(err);
  console.log(res); // { filename: '/app/businesscard.pdf' }
});

参考链接:https://www.npmjs.com/package/html-pdf

当我使用下面的代码时,它不会只在最后一页上工作它也会打印中间页。

<div id="pageHeader-last">Header on last page</div>
...
<div id="pageFooter-last">Footer on last page</div>

【问题讨论】:

    标签: node.js pdf npm node-html-pdf


    【解决方案1】:

    您可以将html-pdf 用于节点https://www.npmjs.com/package/html-pdf 它在 html-pdf 版本 2.1.0 中工作 你可以通过 npm install html-pdf@2.1.0 安装它 最新版本(2.2.0)存在一些问题

    【讨论】:

      【解决方案2】:

      html-pdf 基本上是 phantomJS 的包装器,对于某些 pdf 生成非常方便。如果您要经常使用它,那么值得一看。您可以从 javascript 端调整页眉和页脚的数量是有限制的,例如,无需修改 node-html-pdf 使用的脚本或自行调用 phantomJS。

      有时,使用 node-pdftk 从较小的 PDF 文件组装 PDF 比诱使 node-html-pdf 或 phantomJS 一次性完成您想要的操作更容易。

      html-pdf在pdf_a4_portrait.js中设置页眉和页脚

      function createSection (section, content, options) {
      ...
            if (pageNumFinal === 1 && !html) html = o.first || c.first
            if (numPagesFinal === numPages && !html) html = o.last || c.last
            return (html || o.default || c.default || '')
              .replace(/{{page}}/g, pageNumFinal)
              .replace(/{{pages}}/g, numPagesFinal) + content.styles
      ...
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多