Files
pdfcraft/docs/target-app-parity.md
2aea7dcfeb M10: print from the web build through the browser's print dialog (gap 4) (#1243)
* Gates: fix two clippy failures on main

- ocr_ui: "Also recognize pages that already have text" used egui's own
  checkbox, which clippy.toml disallows (#1184 landed beside #1173);
  use widgets::checkbox like every other box.
- camera_edges: Rust 1.97's manual_range_contains; the rewrite keeps the
  old answer for a NaN angle (false) with an is_finite check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ojKsSCHWk2AuyDTFMHCd7

* M10: print from the web build through the browser's print dialog (gap 4)

The web build had no printer: spool::submit refuses on wasm, so Print
could only download the print-ready PDF. Now its Print dialog offers
"Browser's print dialog" (the default there), which reaches every
printer the operating system knows.

- web_print: PdfCraft draws the print-ready PDF's sheets itself
  (engine Exporter), one sheet a frame since wasm has no threads:
  300 dpi up to 100 sheets, 200 up to 300, 150 up to 1,000, at most
  64 MP a sheet and 1 GiB of PNGs a job. The PNGs become blob URLs
  and print from a hidden srcdoc iframe, one sheet per page, margin 0.
- Chromium prints every page at the default @page size, so a sheet of
  the paper's size turned sideways is rotated 90 degrees CCW onto it
  (as drivers do); other sizes get named @page rules.
- Copies, two-sided and colour are greyed out (the browser's dialog
  sets them). If print() is refused (e.g. a sandboxed frame), the
  print-ready PDF downloads instead, with the reason.
- pdfcraft-print stays free of web APIs; six new strings in all 20
  catalogs (ATTRIBUTION hashes refreshed); docs and parity updated,
  gap 4 closed.

Verified in headless Chromium against a trunk build: three sheets at
300 dpi, the landscape sheet turned, no blank trailing page, and the
download fallback. Firefox and Safari not yet tried.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ojKsSCHWk2AuyDTFMHCd7

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 02:31:36 -04:00

30 KiB
Raw Permalink Blame History

PdfCraft parity with Adobe Acrobat Pro

Last reviewed: 2026-10-10 · Last updated: 2026-10-12 · Change: web printing shipped, gap 4 closed, scores not re-judged; exclusive image-crop resize follow-up; minor (document-font subset completion, source styles and curved/shared image clips in the contributor fork; closed issues synced, scores not re-judged: #774, #756, #740, #759, #799–#821, #825, #844; earlier: readiness table with hours per audience; full number restated as the standard's additive weighted sum, 47% → 49%; earlier: second look: cross-cutting double count removed, mainstream-practitioner number added, core-workflow gate applied → alpha) · Target: Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)

The authoritative assessment of how close PdfCraft is to Acrobat Pro. ROADMAP.md summarizes it; gaps.md lists every shortfall one by one; the deep-dive checklists are pdf-spec-parity.md, file-format-parity.md, ui-parity.md, hardware-parity.md and localization-parity.md.

Scope. Parity means the offline feature set of Acrobat Pro. Adobe's cloud services (Document Cloud storage, Acrobat Sign requests, shared review, the AI Assistant, Adobe Express, the Adobe Approved Trust List) are out of scope: 23 such features are tracked as na in parity/acrobat-features.toml and excluded from every percentage.

Headline

Value Kind
Feature breadth, tier-weighted ≈ 67% measured (checklist; weights below)
Feature breadth, unweighted 56.9% (423 shipped + 74 partial of 808) measured (cargo xtask parity arithmetic)
Must-have (P0) features 94.2% (226 + 23 partial of 252) measured
Feature breadth, mainstream practitioner ≈ 70% tier-weighted (63.2% unweighted: 292 + 44 partial of 497; P0 95.3%) measured (split below)
Ready for real work, full Acrobat Pro ≈ 49% (range 45–53%) estimated (weighted sum over dimensions, below)
Ready for real work, mainstream practitioner ≈ 55% (range 50–60%) estimated (split below)
Ready for real work, essentials user ≈ 66% (range 60–70%) estimated (below)
Stage alpha (passes the core-workflow gate) see Stage
Remaining to beta ≈ 400–700 Opus 5.5 agent-hours estimated
Remaining to full parity ≈ 780–1,400 Opus 5.5 agent-hours estimated

Readiness by audience

Audience Ready Opus 5.5 agent-hours to ≈ 95% Work that dominates
Full Acrobat Pro (ready for real work) ≈ 49% ≈ 780–1,400 h (≈ 300–550 h wall clock with 3–5 agents; 60–70% parallelizes) Own renderer and fidelity harness, editing existing content, OCR and Office conversion, Preflight and PDF/A/X/UA, accessibility tagging, signatures for institutions
Mainstream practitioner ≈ 55% ≈ 500–900 h (≈ 200–400 h wall clock; ≈ 60% parallelizes) Rendering fidelity, editing existing text (CJK, RTL, subsets), conversion (Word layout, Excel, PowerPoint, Office→PDF), OCR languages, the bug backlog
Essentials user ≈ 66% ≈ 180–330 h (≈ 90–180 h wall clock; ≈ 50% parallelizes) Rendering fidelity on everyday files, launch and GPU stability, simple text fixes, Word export layout, Chinese UI glyphs

Hours are calibrated as in Effort and calibration (≈ 1k kept lines per agent-hour for new features, 3–10× slower for hardening and fidelity). The audiences are nested subsets, so essentials ≤ mainstream ≤ full.

The gap between the numbers is the story of this release: most of what an Acrobat user reaches for exists, but much of it is shallower than Acrobat's, rendering is still borrowed, quality has never been measured side by side with Acrobat, and the first public releases (0.4.0, 0.5.0) drew 245 open issues in two days, including one that made our encrypted files unreadable in Acrobat (#774, fixed by #836).

How this was measured

  • Target identified from the installed app. /Applications/Adobe Acrobat DC/Adobe Acrobat.app, CFBundleShortVersionString 26.002.21931. Inspected without launching it and without opening anything inside Contents/Resources/JavaScripts/ (clean-room rules, AGENTS.md §2): the Info.plist CFBundleDocumentTypes (the formats it opens: see file-format-parity.md), the .lproj folder names (24 localizations, plus the MEA/MEH/NAF Middle East and North Africa editions named in Resources/Sequences/), the names in Contents/Plugins/ (Accessibility, AcroForm, Checkers, Comments, DigSig, EScript, MakeAccessible, PPKLite, ReadOutLoud, Reflow, SaveAsRTF, Search, Spelling, WebLink, …), Contents/Frameworks/ (AdobeJP2K, Adobe3D, AdobeCoolType, AdobeLinguistic, the OCR-capable OnDeviceIntelligence_SDK, …) and the PDF Optimizer and Sequences (Action Wizard) folders. Names and listings only.
  • Feature breadth from the checklist. parity/acrobat-features.toml tracks 831 Acrobat Pro features (808 in scope). cargo xtask parity (in xtask ci) rejects any shipped claim whose command, automation tool or cited test does not exist. The numbers here were computed from the file on origin/main at 5d590604 (2026-10-10) with the same arithmetic as the tool (partial counts half). The checklist itself was written from Acrobat's public documentation, not diffed against a menu dump, so it can miss features; that risk is one of the gaps.
  • Ready for real work by judgement, from evidence: the code (152k lines of Rust in crates/, apps/ and xtask, 1,765 tests, 184 registered commands, 141 automation tools); the vendored renderer's patch list (vendor/README.md); user reports on GitHub (245 open, 107 closed issues on 2026-10-10); release packaging (.github/workflows/release.yml); and knowledge of Acrobat Pro's feature set from Adobe's public documentation.
  • Not measured, and the largest uncertainty: no side-by-side comparison of rendering, text extraction or form behaviour against Acrobat exists yet. Every "ready" figure below is an estimate.

Weights

Feature breadth weights the checklist's tiers by how much Acrobat users rely on them: P0 50%, P1 30%, P2 15%, P3 5% → 0.50 × 94.2 + 0.30 × 61.0 + 0.15 × 12.0 + 0.05 × 2.3 ≈ 67%.

Ready for real work weights the areas by how often an Acrobat Pro user reaches for them (judgement: Adobe publishes no usage data): view 16%, comment 12%, edit 12%, organize 10%, forms 10%, create/export 9%, sign 7%, protect 5%, print 5%, OCR 4%, core 3%, optimize/standards 3%, accessibility 2%, automation/preferences 2%. That gives the Features dimension, ≈ 49%.

The full ready-for-real-work number is an additive weighted sum over the dimensions (standard method; weights by what decides whether a professional can switch): features 40%, file formats and conversion 12%, UI/UX 10%, PDF specification 8%, stability 8%, performance 6%, localization 5%, platforms 5%, hardware 4%, ecosystem 1%, AI 1%: 0.40 × 49 + 0.12 × 40 + 0.10 × 55 + 0.08 × 60 + 0.08 × 50 + 0.06 × 40 + 0.05 × 59 + 0.05 × 70 + 0.04 × 35 + 0.01 × 30 + 0.01 × 0 = 49.25 → ≈ 49%.

History: the first version of this file subtracted 9 points from the area figure for cross-cutting shortfalls (40%); the second look found that a double count (Windows printing, encrypted-output interop and Chinese glyphs were already scored in their areas) and used a 2-point deduction (47%); this version replaces the deduction with the standard's weighted sum over dimensions (49%). Method aligned with the standard, no new evidence. Multiplicative discounts are used only for the mainstream and essentials numbers.

Mainstream practitioner vs full Acrobat Pro

The checklist covers all of Acrobat Pro, including surfaces a typical practitioner rarely opens. Splitting it (measured from parity/acrobat-features.toml):

Slice Features Shipped Partial Unweighted Tier-weighted P0
Mainstream: view, comment (without measuring), edit, organize, forms (without XFA and JavaScript tooling), protect and redact, OCR, create and export, compress (Reduce File Size, Optimizer), print (without print production) 497 292 44 63.2% ≈ 70% 95.3% (193)
Specialist: core internals, digital-signature PKI, accessibility remediation, automation and preferences, Preflight and PDF/A/X/UA, print production, measuring, XFA and JavaScript tooling 311 131 30 46.9% ≈ 63% 90.7% (59)
All 808 423 74 56.9% ≈ 67% 94.2% (252)

So the checklist is not dominated by niche surface (38% of rows), and the P0 tier, which is mostly mainstream, is at 94–95% in both slices. What holds the mainstream number down is P1 depth (69%) and the P2 long tail (13%: rulers, loupe, portfolios, spell check, Bates across files).

Ready for real work, mainstream practitioner ≈ 55%, weighting the mainstream areas by use and scoring only their mainstream features: view 20% × 60, comment 15% × 70, edit 15% × 35, organize 12% × 75, fill and sign 12% × 70, convert 10% × 30, protect and redact 6% × 55, OCR 4% × 20, compress 3% × 60, print 3% × 50 = 55.6%. Read-only, review, form-filling and page workflows are close to Acrobat; editing existing content, conversion and OCR are not.

Essentials user

Someone who uses Acrobat for the everyday basics and never opens the rest. Scored on those features only, by depth, then discounted for what such a user actually runs into. Advanced options, Pro workflows, exchange edge cases and everything outside the mainstream slice are excluded.

Core feature Weight Depth Evidence
Open the PDFs people send and read them (render, zoom, scroll, page through) 20% 80% Repair of damaged files, 958-file corpus; rendering borrowed but broadly right (#794 is a TikZ pattern)
Find, select and copy text 8% 85% Find, options, results list; word-F1 0.98
Print 8% 55% Good on macOS and Linux; Windows prints since #847 (#756), not yet re-scored
Highlight, sticky notes, text comments 12% 85% All markup types, replies, properties
Fill in forms 10% 85% Every AcroForm field type, Acrobat's formatting and calculations
Fill & Sign: typed, drawn or image signature 10% 85% Fill & Sign tools; flatten on save
Rotate, delete, reorder and extract pages 8% 85% Organize grid, drag reorder, thumbnails
Combine files 6% 85% Combine tab with bookmarks per file
Fix a typo in existing text 5% 40% Latin paragraphs only; font may be substituted
Export to Word or images 5% 45% Images good; Word loses layout (#773)
Reduce file size 3% 75% Reduce File Size, Optimizer
Protect with a password 3% 30% Works in PdfCraft; Acrobat DC opens the output since #836 (#774), not yet re-scored
Undo, save, autosave 2% 90% Undo after save, atomic saves, crash recovery

Weighted depth: ≈ 75%. Discounts an essentials user hits: launch and stability (54 issues about installing, launching, GPU and windows; OpenGL fallback) −5 points; discoverability and clarity (an Acrobat-like shell with Home and All tools, but tool-mode friction such as #721; #825 is fixed) −2; opening what people send (Chinese UI glyph boxes #826, CJK documents #758) −2. Essentials user ≈ 66% (60–70%).

User sentiment (second look, 2026-10-10)

Practitioners' praise is real and consistent with these numbers:

  • Adoption: 7,595 GitHub stars, 2,661 forks; release downloads 177,301 (v0.4.0) and 39,447 (v0.5.0, its first day).
  • Praise: 23 of 359 issues written by users carry explicit praise ("amazing bit of software" #693, "ridiculously fast and awesome PDF editor" #320, "brilliant" #542, "fantastic and very useful" #369, "Gigantic stuff… I love it" #449). Switching reports: #179 switched from Adobe Reader on Windows ("covers nearly everything I used Reader for"); #232 replacing macOS Preview; #273 "open source alternative to Acrobat"; #195 would "replace Acrobat completely" once hardware-token signing exists.
  • What users hit (issue titles, excluding 35 agent-filed fix(...) reports): installation, launch and GPU/window problems 54, rendering and display 46, editing text and images 41, CJK and other fonts and glyphs 41, signing and certificates 35, printing 23, forms 18, conversion and export 16, OCR 5. Roughly two thirds are bugs (≈ 213 vs ≈ 111 feature requests), concentrated in core paths rather than niche features.

The praise comes overwhelmingly from Reader-class work (view, annotate, fill, sign, organize), where the mainstream number is highest; the requests and bugs cluster on editing, CJK, printing, conversion and signing tokens, which is where the gaps are. That supports raising the full number from 40% to 47% (the double count; restated as 49% by the weighted-sum method) and reporting the mainstream 55% beside it; it does not support calling PdfCraft a replacement for Acrobat Pro yet.

By dimension

Hours are Opus 5.5 agent wall-clock hours, low–high. Rows marked within features are part of the features total and are shown for orientation; the others add to it.

Dimension Ready Weight Remaining (h) Counted Evidence Doc
Features (14 areas) ≈ 49% depth; 67% breadth 40% 610–1,100 base Area table below this file
UI/UX fidelity ≈ 55% 10% 30–60 additional Acrobat-style shell, All tools, Home, command palette; missing single-key accelerators, rulers/guides, multiple windows, popups; user reports #739, #744, #746, #789 (#759 and #844 fixed) ui-parity.md
File formats and conversion ≈ 40% 12% 120–220 within features PDF read/write strong, encrypted output included (#774 fixed); export Word is layout-poor (#773); no Excel/PowerPoint export, no Office/HTML/PostScript import file-format-parity.md
PDF specification and standards ≈ 60% 8% 150–260 within features ISO 32000 syntax, encryption, annotations and AcroForm strong; rendering and fonts borrowed from hayro; PDF 2.0 extras, linearization, public-key security absent; PDF/A partial, PDF/X/UA none pdf-spec-parity.md
Hardware ≈ 35% 4% 25–50 additional Page raster is CPU only (Acrobat has GPU rendering); Windows CNG and macOS Keychain keys sign, no PKCS #11; no scanners; web printing goes through the browser's print dialog as pictures, not vectors hardware-parity.md
Localization ≈ 59% over the 12 key languages 5% 35–60 additional 15 catalogs, 13 at 94–100%; Chinese UI shows tofu in releases (#826, #688); Arabic not mirrored; no Hindi, Indonesian, Korean, Vietnamese localization-parity.md
Performance ≈ 40% 6% 25–45 additional 500-page smooth scrolling and large-file memory work (#307) done; no performance budgets (misc.performance-budgets), no lazy loading of GB files; blurry text at 1080p/1440p (#730) gaps.md
Stability ≈ 50% 8% 45–80 additional Never-crash rules and nightly fuzzing; 245 open issues on 2026-10-10, many of them fix(...) reports of wrong results in shipped features (the #799–#821 batch is fixed) gaps.md
Platforms ≈ 70% 5% 15–30 additional macOS (signed, notarized), Windows x64/x86/ARM64 (signed), Linux (AppImage, deb, rpm, Flatpak), FreeBSD, web (WASM). Acrobat has no Linux, FreeBSD or full web editor; we lack web OCR and web recovery hardware-parity.md
Ecosystem and plug-ins ≈ 30% 1% 10–20 within features No plug-in SDK or folder-level JavaScript; Action Wizard partial. Agent automation (CLI, MCP, UI control channel) has no Acrobat equivalent gaps.md
AI features ≈ 0% (in scope) 1% 20–40 within features Acrobat's AI Assistant is cloud-only (out of scope). Local, opt-in provider interface (misc.ai-provider) not started gaps.md
Total (weighted sum) ≈ 49% 100% ≈ 780–1,400

By feature area

Breadth is measured from the checklist (partial = ½). Ready is estimated. Hours are remaining to full parity in that area.

Area Features Shipped Partial Breadth Ready Remaining (h) What's strong / what's missing
A Core model and fidelity 56 42 2 76.8% 70% 25–45 Parser, repair, R2–R6 encryption, incremental and atomic saves, undo, autosave, crash recovery, revisions. Encrypted output opens in Acrobat (#774). Missing: lazy loading of GB files, linearization, PDF 2.0 extras, Arlington validation, public-key security, own image codecs
B View and navigation 92 52 11 62.5% 55% 110–190 Shell, layouts, zoom, find, panels, tiles, web build, 500-page scrolling. Pages are drawn by the vendored hayro (22 + 9 local patches): all 7 rendering P0s are partial. Missing: own renderer or a decided replacement (#841), multiple windows, split view, rulers/guides, loupe, reflow, search across files
C Content editing 61 29 7 53.3% 30% 100–180 Edit existing paragraphs (font reused or Helvetica substituted, rewrapped), added text and images stay editable, header/footer, watermarks, backgrounds, Bates, links. Missing: robust editing of real-world text (subset fonts, CJK, RTL #766, rotated), lists, vector/object editing, arrange/align, spell check, multi-select move across pages (same-page shipped, #844)
D Organize pages 76 45 3 61.2% 70% 12–25 Organize grid, insert/extract/replace/split/combine with links, fields, layers and bookmarks carried over; page labels, boxes, bookmarks from structure. Missing: transitions, attachments editing, portfolios, struct-tree merge, field-name conflicts (destination and annotation fixes #817, #818, #821 shipped)
E Comments and review 65 46 9 77.7% 70% 12–25 Every markup type with appearances, replies, status, filters, stamps (custom, dynamic), XFDF/FDF, summaries, flatten, 2D measuring. Missing: rich-text runs, popup windows, summary layouts with pages, per-type hiding (XFDF fidelity fixes #807, #809, #819 shipped)
F Forms and JavaScript 79 58 8 78.5% 65% 40–75 Fill and author every AcroForm field type, Acrobat's AF functions in Acrobat's event order, sandboxed JavaScript (boa), data exchange, Fill & Sign; XFA static/dynamic layout, FormCalc and XFA data (partial). Missing: wider JavaScript object model, document actions, submit, debugger, barcode fields, XFA flattening and full dynamic fidelity
G Protect, redact, sanitize 41 23 2 58.5% 55% 15–30 Passwords and permissions, Remove security, redaction that removes glyphs, pixels, vectors, annotations and tags, with verification; word lists, patterns, FOIA/Privacy Act codes; sanitize. Missing: certificate security, pattern locales, custom code sets, partial-word redaction, folder redaction, protected view
H Digital signatures 45 23 10 62.2% 45% 40–70 PAdES B-B signing and validation (PKCS #12, macOS Keychain, Windows store with PIN prompts), certification, encrypted documents, certificate usage checks; B-T, LTV, OCSP/CRL with caller-supplied evidence. Missing: PKCS #11 and smart cards outside Windows, timestamp-server preferences, online revocation fetching, FieldMDP and field locking, OS trust store, EU Trusted Lists, compare signed version
I Scan and OCR 26 5 2 23.1% 15% 40–75 Searchable image (ocrs, Latin script without accents) on pages, ranges and many files. Missing: every other language (#744 Dutch; accents, CJK, Cyrillic, Arabic), editable-text output, deskew, rotation, despeckle, camera images beyond straightening (found or placed corners): orientation, clean-up, MRC compression, scanners
J Create and export 34 12 3 39.7% 25% 55–100 Create from images, multipage TIFF, text, clipboard, blank, many files at once; export PNG/JPEG/TIFF, text, RTF; Word and HTML partial. Missing: Office/HTML/web/PostScript to PDF, Excel and PowerPoint export, Word layout fidelity (#773), SVG/XML/EPS/PS/JPEG 2000 export, accessible text
K Optimize and standards 58 15 10 34.5% 20% 65–115 Reduce File Size and the Optimizer (images, discards, clean-up, space audit); PDF/A-2b/3b verify and convert (partial). Missing: Preflight (profiles, fixups, reports), PDF/A-1/4 and a/u levels, PDF/X, PDF/UA, PDF/E, PDF/VT, transparency flattening, font unembedding, monochrome JBIG2/CCITT
L Print 39 15 1 39.7% 35% 30–55 Acrobat's sizing, n-up, booklet, poster, comments & forms, preview, print-ready PDF, CUPS on macOS/Linux, the Windows spooler (#756) and the browser's print dialog on the web. Missing: print as image, PostScript, all print-production tools (output preview, separations, ink manager, printer marks, colour conversion)
M Accessibility 61 38 1 63.1% 30% 40–70 Accessibility Checker (all 32 rules, report, fixes), alternate text, title and language. Missing: autotag, Tags/Order/Content panels, Reading Order tool, artifact marking, table editor, Read Out Loud, full keyboard operation of the app, screen-reader audit
N Automation, preferences, misc 75 20 5 30.0% 35% 25–45 CLI, MCP, UI control channel, 141 automation tools, Action Wizard (run, create), compare (text, visual, report). Missing: most Preferences pages, side-by-side compare, Action Wizard management, custom commands, AI providers, rich media/3D, hosted web app
All 808 423 74 56.9% ≈ 49% 610–1,100 Plus 175–325 h of cross-cutting work (dimension table)

Shipped features rest on thin evidence: 141 of 423 cite exactly one test, and only a handful cite an external oracle (pdftotext, pdfsig, OpenSSL, qpdf --check, a corpus).

The checklist lags reality in two places: misc.localization is still planned although 15 catalogs ship, and misc.installers is planned although signed macOS, Windows and Linux packages ship (.github/workflows/release.yml). Neither moves the numbers by more than 0.2 points; fix them with evidence when next touched.

Stage

alpha. Ready for real work, ≈ 49%, is inside the 40–75% band, and every one of Acrobat Pro's six everyday workflows can be completed end to end on macOS. Under the gate rule shared by all the Crafting Apps, a workflow blocks only when a typical user can't complete it at all; lossy exchange or a missing sub-case is a beta item. Converting and sharing is therefore partial, not blocking: PDFs we save open everywhere, password-protected ones included since #836 (#774), and export to Word, RTF, HTML, text and images works, but there is no in-app Create PDF from Office, and Word export loses layout (#773). The gate table, with evidence, is in roadmap.md. (Earlier the same day this row was judged blocking and the stage set to pre-alpha; see the revision history.)

Core workflow Works end to end?
View, search and print yes
Organize, combine and split pages yes
Comment and review yes
Fill and sign forms yes
Edit text and images partial, not blocking (Latin text with embedded or standard fonts)
Convert and share (Office ↔ PDF, password protection) partial, not blocking (Office→PDF and Word layout #773 are beta items; encryption interop #774 fixed)

To reach beta (≈ 75% ready, no blocking gap in PDF interchange), ≈ 26 points and ≈ 400–700 agent-hours:

Beta requirement Hours
An interop suite that opens our outputs in other readers (encrypted output already opens in Acrobat, #774, #836; hours not re-estimated) 8–15
Rendering: a fidelity harness against Acrobat captures (local, clean-room) and fixing what it finds; settle the renderer (own M2 devices, or #841's proposal); Chinese UI faces in releases 80–140
Editing existing text robust on real files: subset fonts, CJK, RTL, rotated text 70–120
Printing on Windows and the web 15–30
OCR in the major languages (accents, Cyrillic, CJK), deskew and rotation 35–60
Export: Word that keeps layout; Excel and PowerPoint 45–80
Signatures: timestamp servers, online revocation and LTV, PKCS #11, OS trust 30–55
PDF/A (all parts and levels), PDF/UA validation, a first Preflight 45–80
Accessibility tagging: autotag, Tags panel, Reading Order 35–60
Open-issue backlog, stability and performance budgets 40–70
Total ≈ 400–700

Effort and calibration

Calibrated against this repository's own history.

  • The repo is 11 days old (first commit 2026-09-30 05:17), with 591 commits and 371 merged pull requests (all since 2026-10-04). Rust in crates/, apps/ and xtask/ grew from 37.7k lines (2026-10-02) to 82.6k (10-04), 99.2k (10-08) and 152.7k (10-10).
  • The previous ROADMAP measured about 1.0k kept, tested lines per agent-hour (72k lines in roughly 65–75 agent-hours). New features land at about that rate: medium P1 features such as redaction word lists (#757, 314 lines), bookmarks from structure (#754, 588 lines) and signing encrypted documents (#753, 308 lines) each took about 1–3 agent-hours including tests, with 2–4 h from PR to merge, mostly CI. Large arcs take longer: XFA dynamic layout, its JavaScript and FormCalc (#121, #230, #301; ≈ 13k lines) about 15–25 agent-hours; the Arabic interface (#692, 2.7k lines) about 3–5.
  • Hardening and fidelity work is 3–10× slower per line than new features: the 2026-10-07 → 10-10 block landed ≈ 330 commits but moved the checklist by only 12 shipped features (411 → 423), because most of it was never-crash work, Windows fixes, localization and XFA.

The previous estimate (2026-10-07) was 600–1,100 h to full parity. Since then XFA, signature timestamps/LTV and signing encrypted documents progressed (≈ −60 h), but the first public releases surfaced work the estimate did not hold: 245 open issues, missing Windows printing, Acrobat interoperability of encrypted output, Chinese UI glyphs and Word-export layout (≈ +200–300 h). Hence ≈ 780–1,400 h now. Roughly 60–70% parallelizes across crates (3–5 agents: ≈ 300–550 h wall clock).

Needs a human: the renderer decision (own M2 devices vs an outside renderer, #841); Acrobat oracle captures on the owner's Mac (synthetic fixtures only); native-speaker review of every catalog; smart cards and PKCS #11 tokens, scanners and Windows printers to test against; any licensed OCR or AI model.

Revision history

Date Change Summary
2026-10-12 minor Exclusive image crops resize with their pixels across nested states, intervening operators and content streams; shared clips remain fixed. Synthetic engine/tool regressions and private image save/reopen checks; estimates unchanged.
2026-10-11 minor Web printing shipped (gap 4): Hardware, Platforms and L Print text updated. Text only: scores, readiness and hours not re-judged
2026-10-11 minor Contributor fork: document-font selection and subset completion, CFF, style ranges, contextual/bidi save/reopen and all-page Chinese keyboard acceptance; curve/hole hit testing (shared clips stay fixed, as on main). Scope remains bounded; percentages unchanged
2026-10-11 minor Synced with closed issues: encrypted output opens in Acrobat (#774, #836), Windows prints (#756, #847), column select (#740), 1:1 touchpad scrolling (#759), same-page multi-object move (#844), #825 and the #799–#821 fix batch. Text only: scores, readiness and hours not re-judged
2026-10-10 minor Readiness table: hours to ≈ 95% per audience (full 780–1,400, mainstream 500–900, essentials 180–330). Full number restated as the standard's additive weighted sum over dimensions with written weights: 47% → 49%. Method aligned with the standard, no new evidence
2026-10-10 minor Added the essentials-user score (≈ 66%): weighted depth of 13 everyday features, discounted for launch, discoverability and opening others' files
2026-10-10 minor Consistency check across apps: re-judged the convert-and-share gate row with the shared rule (blocking only when the workflow can't be completed at all; lossy exchange and missing sub-cases are beta items). Encrypted output (#774) and Office→PDF are sub-cases, Word export is lossy not absent → partial, not blocking; stage pre-alpha → alpha. Numbers unchanged
2026-10-10 minor Second look requested by the owner after practitioners praised PdfCraft: user sentiment gathered (stars, downloads, 23 praising issues, switching reports, issue themes); checklist split into mainstream (497) and specialist (311) features; the 9-point cross-cutting deduction removed as a double count (Windows printing, interop and glyphs were already scored in their areas). Ready for real work 40% → 47%; mainstream practitioner ≈ 55% added. Core-workflow alpha gate applied: convert and share fails → stage alpha → pre-alpha, ≈ 40–70 h from alpha
2026-10-10 major Created from ROADMAP.md §Estimate summary and §Honest assessment (2026-10-05/07). Full re-measure against Acrobat Pro 26.002.21931: checklist recomputed (56.9% unweighted, ≈ 67% tier-weighted), ready for real work ≈ 40%, stage alpha, hours re-calibrated (780–1,400 h to parity, 400–700 h to beta), dimension and area tables
2026-10-07 minor (in ROADMAP.md) 806 tracked features, 51.0% shipped, effort-weighted ≈ 30–35%, 600–1,100 h
2026-10-05 major (in ROADMAP.md) First honest assessment by dimension and area