Expand description
The content-stream interpreter (ISO 32000-1, 8–9): graphics state, path construction and painting, clipping, text, XObjects, inline images, shadings and patterns, ExtGState, and the widget annotations’ appearance streams — drawn onto a tiny-skia canvas in device space.
Where docling-parse’s renderer makes a choice, this one follows it: a
stroke is at least one device pixel wide and a 0 w hairline is one
pixel; a line width scales by sqrt(|det CTM|); ExtGState alpha and
blend modes apply, soft masks and transparency groups do not (the group
is drawn straight onto the page); dash patterns are drawn (docling-parse
drops them); only Widget annotations are rendered, from their /AP /N
appearance; a glyph with no face at all leaves a thin blue box.
Structs§
- Interp
- Shared
- The caches one document’s renders share: parsed fonts, the CMYK
conversion table and decoded image samples. The pipeline renders every
page twice (the layout scale and the OCR scale), so decoding a page’s
photographs once pays for itself; the store is bounded by
[
IMAGE_BUDGET] bytes and cleared wholesale when it overflows.