RenderOptions
Defined in: packages/core/src/types.ts:122
Options for rendering PDF pages to images.
All options are optional with sensible defaults optimized for quality and file size balance.
Example
// Default options (scale: 1.5, format: 'jpeg', quality: 0.85)for await (const page of pdf.renderPages()) { await fs.writeFile(`page-${page.pageNumber}.jpg`, page.buffer)}
// High quality PNG outputfor await (const page of pdf.renderPages({ scale: 2.0, format: 'png'})) { await fs.writeFile(`page-${page.pageNumber}.png`, page.buffer)}
// Render specific pages onlyfor await (const page of pdf.renderPages({ pages: [1, 3, 5] // Only pages 1, 3, and 5})) { // ...}Properties
format?
optionalformat:RenderFormat
Defined in: packages/core/src/types.ts:151
Output image format.
'jpeg'- Smaller file size, lossy compression (default)'png'- Larger file size, lossless compression
Default Value
'jpeg'ignoreMissingGlyphs?
optionalignoreMissingGlyphs:boolean
Defined in: packages/core/src/types.ts:214
Whether to ignore missing glyphs during rendering.
When false (default), a PdfError with code MISSING_GLYPHS
is thrown if characters cannot be properly rendered due to missing
Unicode mappings in the font.
When true, missing glyphs are silently rendered as tofu (blank boxes).
Default Value
falseExample
// Strict mode - throw on missing glyphs (default)const page = await pdf.renderPage(1)
// Permissive mode - allow tofu renderingconst page = await pdf.renderPage(1, { ignoreMissingGlyphs: true })missingGlyphThreshold?
optionalmissingGlyphThreshold:number
Defined in: packages/core/src/types.ts:230
Maximum number of missing glyphs allowed before throwing an error.
Only relevant when ignoreMissingGlyphs is false.
If set, allows up to N missing characters without throwing.
Default Value
0 (throw on any missing glyph)Example
// Allow up to 5 missing charactersconst page = await pdf.renderPage(1, { missingGlyphThreshold: 5 })pages?
optionalpages:number[] |PageRange
Defined in: packages/core/src/types.ts:192
Specific pages to render (1-indexed).
Can be either:
- An array of page numbers:
[1, 3, 5] - A range object:
{ start: 1, end: 5 }
If not specified, all pages are rendered.
Default Value
All pagesExample
// Render specific pagesconst options = { pages: [1, 5, 10] }
// Render a range of pagesconst options = { pages: { start: 1, end: 5 } }quality?
optionalquality:number
Defined in: packages/core/src/types.ts:170
JPEG quality (0-1).
Only applies when format is 'jpeg'.
Higher values produce better quality but larger files.
Default Value
0.85Example
// Low quality (smaller files)const options = { format: 'jpeg', quality: 0.5 }
// Maximum qualityconst options = { format: 'jpeg', quality: 1.0 }scale?
optionalscale:number
Defined in: packages/core/src/types.ts:141
Scale factor for rendering.
Higher values produce larger, more detailed images but use more memory. A scale of 1.0 renders at the PDF’s natural size (72 DPI). A scale of 2.0 renders at 144 DPI.
Default Value
1.5Example
// Thumbnail (smaller, faster)const options = { scale: 0.5 }
// High resolution (larger, more detailed)const options = { scale: 3.0 }