pdf-interpret
A PDF content-stream interpreter in pure Rust — the layer that turns PDF page operators (text-show, path-paint, image-draw, etc.) into a typed event stream that a renderer or extractor can consume.
pdf-interpret is one of the open-source foundation crates used by the
PDFluent commercial Rust PDF SDK. It is published as
MIT OR Apache-2.0 so it can also be used standalone.
This crate is a fork of hayro-interpret
by Laurenz Stampfl, with PDFluent-specific font integration through
pdf-font.
What this crate gives you
- Walk a PDF page's content stream and emit typed graphics operations
- Resolve graphics state, text state, and color spaces
- Image XObject and Form XObject expansion
- Type 1, CFF, and TrueType font glyph resolution (via
pdf-font) - Pure Rust — memory-safe, no C dependency, compiles to WebAssembly
What this crate is not:
- Not a renderer (it produces a stream of operations; rasterization is
separate — see
pdf-render) - Not a high-level extractor (use
pdfluent-extractfor text + positions) - Not a writer (read-only)
Usage
This crate is typically used through the
pdfluent facade or via
pdf-engine, which wires it
together with the rendering and extraction backends.
Direct usage is possible if you are building a custom PDF processing tool that needs the operator stream:
[]
= "0.5"
License
MIT OR Apache-2.0 — preserved from upstream hayro-interpret.
Copyright (c) Laurenz Stampfl (hayro-interpret)
Copyright (c) 2026 Innovation Trigger BV (PDFluent fork)
See LICENSE-MIT and LICENSE-APACHE.
Links
- PDFluent SDK: https://pdfluent.com
cargo add pdfluent(full SDK): https://crates.io/crates/pdfluent- Upstream hayro: https://github.com/LaurenzV/hayro