UNPKG

legal-markdown-js

Version:

Node.js implementation of LegalMarkdown for processing legal documents with markdown and YAML - Complete feature parity with Ruby version

46 lines 1.63 kB
import { PdfGenerator } from '../pdf-generator.js'; export class PuppeteerConnector { name = 'puppeteer'; async isAvailable() { try { await import('puppeteer'); return true; } catch { return false; } } async generatePdf(html, outputPath, options) { const generator = new PdfGenerator(); await generator.generatePdfFromHtml(html, outputPath, { format: options.format, margin: options.margin, landscape: options.landscape, headerTemplate: options.headerTemplate, footerTemplate: options.footerTemplate, displayHeaderFooter: Boolean(options.headerTemplate || options.footerTemplate), }); } async getInfo() { let version = 'unknown'; try { const pkg = await import('puppeteer/package.json'); version = pkg.version ?? 'unknown'; } catch { /* optional import - version unknown is fine */ } const generator = new PdfGenerator(); // `getChromeExecutable` is an internal method on PdfGenerator that exposes // the path resolved by the bundled Puppeteer. It is not part of the public // type, so we use a structural cast to read it without modifying PdfGenerator's // public surface. const executablePath = generator.getChromeExecutable?.(); return { name: this.name, version, executablePath: executablePath ?? undefined, }; } } //# sourceMappingURL=puppeteer-connector.js.map