Package Exports
- @embedpdf/engines
- @embedpdf/engines/converters
- @embedpdf/engines/pdfium
- @embedpdf/engines/pdfium-direct-engine
- @embedpdf/engines/pdfium-worker-engine
- @embedpdf/engines/preact
- @embedpdf/engines/react
- @embedpdf/engines/svelte
- @embedpdf/engines/vue
- @embedpdf/engines/worker
Readme
@embedpdf/engines
Pluggable rendering engines for EmbedPDF. Ships with PdfiumEngine – a high‑level, promise‑first wrapper built on top of @embedpdf/pdfium.
Documentation
For complete guides, examples, and full API reference, visit:
Why @embedpdf/engines?
- High‑level abstraction – handles tasks, DPR scaling, annotation colour resolution, range/linearised loading.
- Universal runtimes – works in browsers, Node, and serverless environments.
- Typed & composable – 100 % TypeScript with generics for custom image pipelines.
Features
- Open PDFs from
ArrayBufferor URL - Render full pages, arbitrary rectangles, thumbnails – all DPI‑aware
- Text extraction, glyph geometry, word‑break‑aware search with context windows
- Read / create / transform / delete annotations and form fields
- Page ops: merge, extract, flatten, partial import
- Attachments & digital‑signature introspection
Installation
npm install @embedpdf/engines @embedpdf/pdfiumBasic Usage
import { init } from '@embedpdf/pdfium';
import { PdfiumEngine } from '@embedpdf/engines/pdfium';
const pdfiumWasm =
'https://cdn.jsdelivr.net/npm/@embedpdf/pdfium/dist/pdfium.wasm';
(async () => {
const response = await fetch(pdfiumWasm);
const wasmBinary = await response.arrayBuffer();
// 1 – boot the low‑level WASM module
const pdfium = await init({ wasmBinary });
// 2 – create the high‑level engine
const engine = new PdfiumEngine(pdfium);
engine.initialize();
// 3 – open & render
const document = await engine
.openDocumentUrl({ id: 'demo', url: '/demo.pdf' })
.toPromise();
const page0 = doc.pages[0];
const blob = await engine.renderPage(doc, page0).toPromise();
})();Learn More
Head over to our docs for:
- Getting Started – initialise, render, destroy
- Engine Interface – implement your own back‑end
- Advanced Topics – workers, Node pipelines, Sharp image adapters
License
MIT – see the LICENSE file.