кукловод pdf добавляет пустую страницу после содержимого - PullRequest
0 голосов
/ 08 апреля 2020

Я создаю pdf для хранения в моей базе данных pg, используя руль для шаблона html / css. Контент загружается нормально, кукловод, кажется, добавляет дополнительную пустую страницу в конце. Я использую шаблон руля и css, чтобы разделить страницы и перебираю свои данные, чтобы отобразить их все.

let browser;

const fileName = "myPDF.hbs";
const data = [...someData]

// use puppeteer to take in compiled hbs doc and create a pdf
const generatePDF = async (fileName, data) => {
// manipulates the data that I need
  const preparedData = prepareDataForPDF(data);
  try {
    // Only launch 1 browser
    if (!browser) {
      browser = await puppeteer.launch({
        args: [
          "--no-sandbox",
          '--disable-setuid-sandbox',
          '--disable-dev-shm-usage',
        ],
        headless: true,
      });
    }

    // But use a new context for each report
    const context = await browser.createIncognitoBrowserContext();
    const page = await context.newPage();
    const content = await compile(fileName, preparedData);
    await page.goto(`data: text/html, ${content}`, { waitUntil: "networkidle0" });
    await page.setContent(content);
    await page.emulateMedia("screen");
    const pdf = await page.pdf({
      format: "A4",
      printBackground: true,
    });
    await context.close();
    return pdf;
  } catch (err) {
    logger.error(err);
    throw err;
  }
};

generatePDF(fileName, data);
...