Получить общее количество страниц PDF кукловод - PullRequest
0 голосов
/ 18 октября 2019

Я сгенерировал PDF-файл из HTML, используя Puppeter. Это любой способ получить общее количество страниц в сгенерированном 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.

...