Features

A page-by-page pipeline, end to end.

A page-by-page pipeline from PDF content streams to self-contained, machine-readable HTML.

Content stream operators, resources
Text + geometry runs, lines, clip state
Glyph outlines per embedded font
Subset WOFF @font-face, data: URI
Self-contained HTML no outbound references

Nothing in this path rasterizes the text layer. The optional native engine substitutes only the page background, and live HTML text still sits on top of it.

Text

Characters are grouped into runs by font/size/spacing, then optionally into justified lines and paragraphs, and emitted as real <span>/semantic HTML — never a screenshot.

Fonts

Each embedded font's glyph outlines are captured and rebuilt into a subset TrueType font, then wrapped as WOFF 1.0 and embedded as a @font-face — so rendered glyphs match the source document exactly, with no system-font substitution.

Background

Vector paths and raster images are emitted as an inline <svg> mirroring the PDF's own graphics by default. For pages whose compositing an SVG can't reproduce, an optional raster background renders the page graphics via the native renderer while text stays live HTML on top.

Engines

The managed engine is fully managed, clip-aware, and needs no native library — it's the default. The optional native engine adds raster compositing and is available on 12 runtime identifiers.

Output shapes

Single self-contained file, one file per page, or a multi-page viewer with navigation — all inline fonts/images/SVG as data: URIs, so there are no outbound references and the artifact works offline.

Safety

Every dynamic string is HTML-encoded before it enters the output; link targets are filtered to an http(s)/mailto/tel allow-list; hostile schemes (javascript:, data:, file:) never reach the page. Details on Security.

Choosing an engine

Managed is the default. Native is opt-in.

Both engines produce live HTML text. They differ only in how the page background is produced, and in what you have to deploy alongside your application.

  Managed Default Native Optional
Native library to deploy None — pure .NET Required alongside the application
Page background Inline <svg> mirroring the PDF's graphics Raster compositing, text still live on top
Clip-aware text Yes Yes
Availability Anywhere .NET runs 12 runtime identifiers

Review, not re-key

Because the output is real HTML, reviewers search, copy and comment on the converted filing directly — no round trip through the source PDF.

See it on your own document.