Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Kevinlearynet/7bc8a1c3e55e3525ef048d9b6ecac48c to your computer and use it in GitHub Desktop.
Save Kevinlearynet/7bc8a1c3e55e3525ef048d9b6ecac48c to your computer and use it in GitHub Desktop.
// Save PDF from HTML Microservice
https://addaptive-microservices.herokuapp.com/api/html-to-pdf
const puppeteer = require('puppeteer');
class Webpage {
static async generatePDF(html) {
const browser = await puppeteer.launch({ headless: true }); // Puppeteer can only generate pdf in headless mode.
const page = await browser.newPage();
page.setContent('<p>Hello, world!</p>');
const pdfConfig = {
path: 'url.pdf', // Saves pdf to disk.
format: 'A4',
printBackground: true,
margin: { // Word's default A4 margins
top: '2.54cm',
bottom: '2.54cm',
left: '2.54cm',
right: '2.54cm'
}
};
await page.emulateMedia('screen');
const pdf = await page.pdf(pdfConfig); // Return the pdf buffer. Useful for saving the file not to disk.
await browser.close();
return pdf;
}
}
(async() => {
const url = 'https://ia601405.us.archive.org/18/items/alicesadventures19033gut/19033-h/19033-h.htm';
const buffer = await Webpage.generatePDF(html);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment