'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.emulateMedia('screen');
    await page._emulationManager._client.send(
      'Emulation.setDefaultBackgroundColorOverride',
      { color: { r: 0, g: 0, b: 0, a: 0 } }
    );
    
    await page.pdf({
      path: process.argv[3],
      format: 'A4',
      margin: { top: "2cm", right: "1cm", bottom: "2cm", left: "1cm" },
      printBackground: true
    });
  } catch (err) {
      console.log(err.message);
  } finally {
    if (browser) {
      browser.close();
    }
    process.exit();
  }
};
createPdf();