Architecture
zpdf is the GUI — a from-scratch PDF editor delivered as a Tauri v2 desktop app with a cyberpunk HUD. It consumes zpdf-core, the implemented, embeddable pure-Rust engine that owns the PDF object model and the editing, annotation, form, signature, and security operations. The split keeps the app layer thin: the desktop GUI, a scriptable CLI, and any in-app embed (traderview and the other MenkeTechnologies apps) all share one engine. The engine writes the PDF object model directly — no third-party PDF engine, no C++ blob, no AGPL — so structure-level operations (linearization, font subsetting, redaction that truly removes content) are first-class.
Module map
The capability map for the engine zpdf consumes. Each module below corresponds to a real source file in the zpdf-core engine; per-module symbol status is derived from source and cross-checked in the port report.
| module | responsibility | status |
|---|---|---|
| doc | open / save · in-memory from_bytes / to_bytes · version · metadata | implemented |
| page | count · rotate · delete · reorder · extract / split · crop · watermark · merge | implemented |
| text | extract · edit-in-place · find / replace · reflow | implemented |
| annot | notes · highlight · ink · stamp · shapes · measure | implemented |
| form | AcroForm fields · fill · flatten · create · FDF / XFDF | implemented |
| sign | certificate sign · verify · timestamp · certify | implemented |
| security | encrypt · decrypt · redact · sanitize | implemented |
| ocr | rasterize · recognize · searchable text layer | implemented |
| render | page rasterizer for viewer · image export · thumbnails | implemented |
Roadmap
The port report enumerates the Adobe-Acrobat / macOS-Preview feature set and tracks status per feature; every row is now cited as done in the engine. No feature is marked done without verifiable code. The engine landed area by area, and the GUI now wires onto it:
- Core PDF model — direct parse / serialize of the PDF object model (objects, xref, streams, content streams); linearization and incremental update.
- Viewer + render — page rasterizer, thumbnails, zoom and page-layout modes wired into the Tauri HUD.
- Page management — insert / delete / extract / reorder / merge, rotate, crop, watermark, Bates.
- Annotation / markup — the Preview-style toolbar surface on top of the engine's annotation model.
- Forms — AcroForm create / fill / flatten, FDF / XFDF.
- Signatures & security — certificate signing, validation, encryption, true-removal redaction, sanitize.
- OCR · convert / export · compare · optimize · accessibility · automation — the remaining Acrobat surface, batch and CLI included.
Verification policy
Status is never asserted from a roadmap. A capability counts as done only when a real, non-stub symbol exists in the engine and the port report can cite it. Integration tests build valid PDFs in memory (no external fixtures) and exercise the engine's capabilities — runnable on headless Linux CI. Every claim on this page is verifiable against source in this repo and in the zpdf-core engine.