@printedjs/plugin-preset
v0.2.3
Published
Standard W3C CSS Paged Media plugin suite preset for Printedjs.
Readme
@printedjs/plugin-preset
Standard W3C CSS Paged Media plugin suite preset for Printedjs.
Bundles all standard core layout plugins into a single, pre-ordered array for full W3C Paged Media and GCPM compliance.
Included Plugins
The standardPreset() suite loads the following plugins in deterministic lifecycle order:
@printedjs/plugin-page-rules—@pagesize, margins, orientation, bleeds, and marks@printedjs/plugin-breaks— Page breaks, column breaks, and avoid rules@printedjs/plugin-strings— CSSstring-setandstring(...)resolution@printedjs/plugin-generated-content— 16 margin boxes and running headers@printedjs/plugin-counters—counter(page),counter(pages), and target cross-references@printedjs/plugin-footnotes—float: footnoteand footnote area placement@printedjs/plugin-widows-orphans— Minimum line breaking constraints@printedjs/plugin-columns— Multi-column layout flow and balancing@printedjs/plugin-math— Formula split protection (KaTeX, MathJax, MathML)@printedjs/plugin-hyphenation— Hyphenation normalization and soft hyphen preservation@printedjs/plugin-bookmarks— Heading hierarchy extraction and outline generation@printedjs/plugin-lists— Ordered list numbering continuity across page breaks
Installation
pnpm add @printedjs/plugin-preset @printedjs/coreUsage
import { createRenderer } from "@printedjs/browser";
import { standardPreset } from "@printedjs/plugin-preset";
const renderer = createRenderer({
target: document.querySelector("#preview")!,
plugins: [...standardPreset()],
});
await renderer.render({
content: {
html: `
<style>
@page {
size: A4;
margin: 20mm;
@bottom-center {
content: "Page " counter(page) " of " counter(pages);
}
}
</style>
<h1>Document Title</h1>
<p>Hello world!</p>
`,
},
});