Hello, world!
'; const options: htmlPdf.CreateOptions = { port: 9222, // port Chrome is listening on }; // async const pdf = await htmlPdf.create(html, options); await pdf.toFile('test.pdf'); const base64 = pdf.toBase64(); const buffer = pdf.toBuffer(); // Promise htmlPdf.create(html, options).then((pdf) => pdf.toFile('test.pdf')); htmlPdf.create(html, options).then((pdf) => pdf.toBase64()); htmlPdf.create(html, options).then((pdf) => pdf.toBuffer()); ``` JavaScript: ```js const htmlPdf = require('html-pdf-chrome'); const html = 'Hello, world!
'; const options = { port: 9222, // port Chrome is listening on }; htmlPdf.create(html, options).then((pdf) => pdf.toFile('test.pdf')); htmlPdf.create(html, options).then((pdf) => pdf.toBase64()); htmlPdf.create(html, options).then((pdf) => pdf.toBuffer()); ``` View the full documentation in the source code. ### Using an External Site ```js import * as htmlPdf from 'html-pdf-chrome'; const options: htmlPdf.CreateOptions = { port: 9222, // port Chrome is listening on }; const url = 'https://github.com/westy92/html-pdf-chrome'; const pdf = await htmlPdf.create(url, options); ``` ### Using a Template Engine Pug (formerly known as Jade) ```js import * as htmlPdf from 'html-pdf-chrome'; import * as pug from 'pug'; const template = pug.compile('p Hello, #{noun}!'); const templateData = { noun: 'world', }; const options: htmlPdf.CreateOptions = { port: 9222, // port Chrome is listening on }; const html = template(templateData); const pdf = await htmlPdf.create(html, options); ``` ### Trigger Render Completion There are a few `CompletionTrigger` types that wait for something to occur before triggering PDF printing. * Callback - waits for a callback to be called * Element - waits for an element to be injected into the DOM * Event - waits for an Event to fire * Timer - waits a specified amount of time * Variable - waits for a variable to be set to `true` ```js const options: htmlPdf.CreateOptions = { port: 9222, // port Chrome is listening on completionTrigger: new htmlPdf.CompletionTrigger.Timer(5000), // milliseconds }; // Alternative completionTrigger options: new htmlPdf.CompletionTrigger.Callback( 'cbName', // optional, name of the callback to define for the browser to call when finished rendering. Defaults to 'htmlPdfCb'. 5000 // optional, timeout (milliseconds) ), new htmlPdf.CompletionTrigger.Element( 'div#myElement', // name of the DOM element to wait for 5000 // optional, timeout (milliseconds) ), new htmlPdf.CompletionTrigger.Event( 'myEvent', // name of the event to listen for '#myElement', // optional DOM element CSS selector to listen on, defaults to body 5000 // optional timeout (milliseconds) ), new htmlPdf.CompletionTrigger.Variable( 'myVarName', // optional, name of the variable to wait for. Defaults to 'htmlPdfDone' 5000 // optional, timeout (milliseconds) ), ``` ## License html-pdf-chrome is released under the MIT License.