Skip to content

modern-pdf-lib


modern-pdf-lib / RecompressOptions

Interface: RecompressOptions

Defined in: src/assets/image/imageOptimize.ts:62

Options for image recompression.

Extended by

Properties

chromaSubsampling?

readonly optional chromaSubsampling: ChromaSubsampling

Defined in: src/assets/image/imageOptimize.ts:108

Chroma subsampling mode. Only used when format is 'jpeg'.

  • '4:4:4': No subsampling — best color fidelity, largest file.
  • '4:2:2': Horizontal subsampling — good balance.
  • '4:2:0': Both horizontal and vertical — smallest file.

Requires the JPEG WASM module to be initialized.

Default: '4:2:0'.


compressionLevel?

readonly optional compressionLevel: 1 | 6 | 3 | 2 | 4 | 5 | 7 | 8 | 9

Defined in: src/assets/image/imageOptimize.ts:84

Deflate compression level (1–9). Only used when format is 'deflate'. Higher values produce smaller files but take longer.

Default: 6.


format?

readonly optional format: "jpeg" | "deflate"

Defined in: src/assets/image/imageOptimize.ts:70

Output format.

  • 'jpeg': JPEG compression (lossy, good for photographs)
  • 'deflate': Deflate/zlib compression (lossless, used in PDF FlateDecode)

Default: 'deflate'.


progressive?

readonly optional progressive: boolean

Defined in: src/assets/image/imageOptimize.ts:96

Encode as progressive JPEG. Only used when format is 'jpeg'.

Progressive JPEGs render in multiple passes (low-res → full-res) which improves perceived loading speed on slow connections. They are also often slightly smaller than baseline JPEGs.

Requires the JPEG WASM module to be initialized.

Default: false.


quality?

readonly optional quality: number

Defined in: src/assets/image/imageOptimize.ts:77

JPEG quality (1–100). Only used when format is 'jpeg'. Higher values produce larger files with better quality.

Default: 85.

Released under the MIT License.