Puppeteer Quick Start
Get started by adding the @paprize/puppeteer library to your project.
npm install @paprize/puppeteer
This library requires an instance of Puppeteer. After installing and setting up the appropriate version of Puppeteer or Puppeteer Core in your environment, you can use it to export your report as a PDF, image, or HTML file.
warning
This is a back-end only library and can be used exclusively in server-side applications.
- Vanilla | Zero
 - React
 
- Setup the report HTML file
 - Add Report Components to your report.
 - Convert report HTML file to PDF
 
script.ts
import { reportToPdf } from '@paprize/puppeteer';
import { promises as fs } from 'fs';
import puppeteer, { type Browser } from 'puppeteer';
let browser!: Browser;
try {
    browser = await puppeteer.launch({
        headless: true,
        args: [
            '--no-sandbox',
            '--disable-setuid-sandbox',
            '--disable-dev-shm-usage',
            '--disable-gpu',
            '--disable-web-security',
        ],
    });
    const page = await browser.newPage();
    const pdf = await reportToPdf(
        page,
        new URL(`file://${import.meta.dirname}/report.html`)
    );
    await fs.writeFile('report.pdf', pdf);
} finally {
    await browser.close();
}
- Add Report Components to your report.
 - Build your React app assets (JavaScript and HTML).
 - Serve the React app using a local HTTP server.
 - Convert the rendered React report into a PDF file.
 
import { promises as fs } from 'fs';
import { serveReport, reportToPdf } from '@paprize/puppeteer';
import puppeteer, { type Browser } from 'puppeteer';
let browser!: Browser;
let server!: Awaited<ReturnType<typeof serveReport>>;
try {
    browser = await puppeteer.launch({
        headless: true,
        args: [
            '--no-sandbox',
            '--disable-setuid-sandbox',
            '--disable-dev-shm-usage',
            '--disable-gpu',
            '--disable-web-security',
        ],
    });
    server = await serveReport('dist');
    const page = await browser.newPage();
    const pdf = await reportToPdf(
        page,
        new URL('mewo-company', server.getHost())
    );
    await fs.writeFile('mewo-company.pdf', pdf);
} finally {
    await browser.close();
    server.close();
}