hopeful
This commit is contained in:
@@ -1,8 +1,15 @@
|
||||
import puppeteer from "puppeteer";
|
||||
import puppeteer, { PaperFormat } from "puppeteer";
|
||||
|
||||
import { env } from "../config/env.js";
|
||||
|
||||
export async function renderPdf(html: string) {
|
||||
interface PdfOptions {
|
||||
format?: PaperFormat;
|
||||
width?: string;
|
||||
height?: string;
|
||||
margin?: { top?: string; right?: string; bottom?: string; left?: string };
|
||||
}
|
||||
|
||||
export async function renderPdf(html: string, options?: PdfOptions) {
|
||||
const browser = await puppeteer.launch({
|
||||
executablePath: env.PUPPETEER_EXECUTABLE_PATH,
|
||||
headless: true,
|
||||
@@ -14,7 +21,10 @@ export async function renderPdf(html: string) {
|
||||
await page.setContent(html, { waitUntil: "networkidle0" });
|
||||
|
||||
const pdf = await page.pdf({
|
||||
format: "A4",
|
||||
format: options?.width || options?.height ? undefined : (options?.format || "A4"),
|
||||
width: options?.width,
|
||||
height: options?.height,
|
||||
margin: options?.margin,
|
||||
printBackground: true,
|
||||
preferCSSPageSize: true,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user