Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
JavaScript
1234567891011121314151617181920212223242526272829303132#!/usr/bin/env node
// Generate the SO SOFT proposal PDF from proposal.html using Puppeteer.// Usage: node sosoft/generate-pdf.mjs
import puppeteer from "puppeteer";import { fileURLToPath } from "url";import path from "path";
const __dirname = path.dirname(fileURLToPath(import.meta.url));const htmlPath = path.join(__dirname, "proposal.html");const outputPath = path.join(__dirname, "proposal.pdf");
const browser = await puppeteer.launch({ headless: true, executablePath: process.env.PUPPETEER_EXECUTABLE_PATH || "/usr/sbin/chromium-browser", args: ["--no-sandbox", "--disable-setuid-sandbox"],});
const page = await browser.newPage();await page.goto(`file://${htmlPath}`, { waitUntil: "networkidle0" });
await page.pdf({ path: outputPath, format: "Letter", printBackground: true, margin: { top: "0.65in", bottom: "0.65in", left: "0.75in", right: "0.75in" },});
await browser.close();console.log(`PDF written to ${outputPath}`);