HTML-PDF
Node lib to converts HTML with property binding or url to PDF files.
🚧 Requirements
🚀 Getting Started
This package is available in the Node Package Repository and can be easily installed with npm or yarn
$ npm i @myunisoft/html-to-pdf
$ yarn add @myunisoft/html-to-pdf
📚 Usage
async function main() {
const browser = await initBrowser();
let readable;
try {
readable = Readable.from(generatePDF(browser, [{ content: html }], pdfOptions));
}
finally {
await terminateBrowser(browser);
}
return readable;
}
main().catch(console.error);
API
initBrowser(options?: PuppeteerLaunchOptions): Promise< Browser >
import { initBrowser } from "@myunisoft/html-to-pdf";
const browser = await initBrowser();
Options payload is described by the following TypeScript interface:
import {
LaunchOptions,
BrowserLaunchArgumentOptions,
BrowserConnectOptions,
Product
} from "puppeteer";
type PuppeteerLaunchOptions = LaunchOptions & BrowserLaunchArgumentOptions & BrowserConnectOptions & {
product?: Product;
extraPrefsFirefox?: Record<string, unknown>;
}
generatePDF(browser: Browser, files: pdfFile[], options?: PuppeteerPDFOptions): AsyncIterableIterator< Buffer >
files
and options
arguments are described with the following TypeScript interface/type:
interface pdfFile {
content?: string,
url?: string
}
type PuppeteerPDFOptions = PDFOptions & { paginationOffset?: number };
import * as pdf from "@myunisoft/html-to-pdf";
const browser = await pdf.initBrowser();
const pdfOptions = {};
const content = "..HTML HERE..";
const readable = Readable.from(
pdf.generatePDF(browser, [{ content }], pdfOptions)
);
terminateBrowser(browser: Browser): Promise< void >
import * as pdf from "@myunisoft/html-to-pdf";
const browser = await pdf.initBrowser();
try {
}
finally {
await pdf.terminateBrowser(browser);
}
Contributors ✨
![All Contributors](https://img.shields.io/badge/all_contributors-3-orange.svg?style=flat-square)
Thanks goes to these wonderful people (emoji key):
License
MIT