获取PDF木偶的总页数

时间:2019-10-18 08:45:29

标签: node.js google-chrome pdf puppeteer google-chrome-headless

我已经使用puppeter从html生成了pdf文件。可以通过任何方式获取生成的pdf中的总页数。 我的功能如下。

const fs = require("fs");
const path = require("path");
const puppeteer = require('puppeteer');
const handlebars = require("handlebars");

(async() => {
  const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
  const page = await browser.newPage();
  var templateHtml = fs.readFileSync(path.join(process.cwd(), 'test.html'), 'utf8');
    var template = handlebars.compile(templateHtml);
    var html = template();
await page.goto(`data:text/html;charset=UTF-8,${html}`, {
  waitUntil: 'networkidle0'
});

const HEADER_TEMPLATE = `
<span style="font-size: 20px;color:black;">Header</span><span class="hidespan" style="font-size: 20px;color:black;">aaa</span>
`;

const FOOTER_TEMPLATE = `
<span style='font-size: 20px;color:black;' class='pageNumber'></span><span style='font-size: 20px;color:black;'> / </span><span style='font-size: 20px;color:black;' class='totalPages'></span>`;


await page.addScriptTag({url: 'https://code.jquery.com/jquery-3.2.1.min.js'});
await page.addScriptTag({content: "$( document ).ready(function() {  $('#test').hide(); $('.hidespan').hide();});"});


const finalPdf=await page.pdf({
  path: 'page.pdf', 
  format: 'A4',
  displayHeaderFooter: true,
  headerTemplate: HEADER_TEMPLATE, 
  footerTemplate: FOOTER_TEMPLATE,
  printBackground: true,
  margin:{top:'2cm',right:'2cm',bottom:'2cm',left:'2cm'}
  });


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

我的Pdf是使用这种方法成功生成的。但是我需要获取pdf中的总页数。

0 个答案:

没有答案