'use strict';

const puppeteer = require('puppeteer');

const createPdf = async() => {
  let browser;
  try {
    browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
    const page = await browser.newPage();
    //await page.setViewport({width: 794, height: 1122, deviceScaleFactor: 1});
    await page.goto(process.argv[2], {timeout: 3000, waitUntil: 'networkidle2'});
    await page.waitFor(250);
    

    await page._emulationManager._client.send(
      'Emulation.setDefaultBackgroundColorOverride',
      { color: { r: 0, g: 0, b: 0, a: 0 } }
    );
    await page.pdf({
      path: process.argv[3],
      format: process.argv[4],
      footerTemplate: '<div style="width:100%;font-family:arial;font-size: 8px; text-align:right;color:#3c3c3b; margin-right: 20px;margin-bottom:8px;">Page <span class="pageNumber"></span> sur <span class="totalPages"></span>  </div>',
      displayHeaderFooter: true,
      margin: { top: process.argv[5], bottom: process.argv[6], left: process.argv[7], right: process.argv[8] },
      printBackground: false
    });
  } catch (err) {
      console.log(err.message);
  } finally {
    if (browser) {
      browser.close();
    }
    process.exit();
  }
};
createPdf();