UNPKG

bangla-pdf-generator-temp

Version:

A powerful Node.js utility for generating richly formatted PDF documents in Bangla (Bengali) using custom fonts, tables, images, headers, footers, and multi-column layouts. Ideal for reports, certificates, and form-based documents in Bengali script. Suppo

35 lines (33 loc) 1.2 kB
// src/utils/htmlGenerator.js import { TextRenderer } from '../renderers/TextRenderer.js'; import { TableRenderer } from '../renderers/TableRenderer.js'; import { ImageRenderer } from '../renderers/ImageRenderer.js'; import { PageBreakRenderer } from '../renderers/PageBreakRenderer.js'; import { ColumnRenderer } from '../renderers/ColumnRenderer.js'; const renderers = { text: TextRenderer, table: TableRenderer, image: ImageRenderer, pageBreak: PageBreakRenderer, columns: ColumnRenderer }; export async function generateHTML(content, fontURL, padding, options = {}) { let html = ''; for (const block of content) { block.margin = block.margin || options.defaultBlockPadding || '0 0 0.5em 0'; const renderer = renderers[block.type]; if (!renderer) { html += `<div style="color:red">[Unknown block type: ${block.type}]</div>`; continue; } try { const rendered = typeof renderer.render === 'function' ? await renderer.render(block) : renderer.render(block); html += rendered; } catch (err) { html += `<div style="color:red">Error rendering ${block.type} block: ${err.message}</div>`; } } return html; }