HotPDF Enhancement Delivery Plan

Started 8 October 2026 against version 2.800.2; the continuous delivery objective remains active until every acceptance item below is implemented and verified

The subsequent remaining capability completion goal is active; the historical checklist below records delivery of its bounded support profiles through the listed releases and does not by itself complete the broader goal

Completed work requires working public APIs, meaningful non-GUI acceptance checks, canonical American English documentation, synchronised release metadata, and a local release commit

Compatibility is defined by explicit supported inputs and observable diagnostics; an interface placeholder, an unverified implementation, or an unsupported-feature rejection does not complete the corresponding feature

Delivery checklist

WorkstreamAcceptance criteriaStatus
JSON and C ABI parityStructured HTML/XHTML/XML/JSON and typed table CSV/JSON exports, external OCR engines, incremental signing and existing signature fields, document comparison, capability discovery, cancellation, resource limits, and failure-safe publicationIn progress: structured and typed table exports implemented; external OCR, incremental signing, and comparison remain
HTML business templatesImages and form controls inside flex/grid, nested containers, wrapping flex rows, grid column spans, controlled font-face resources, and regression fixtures for invoices, reports, and two-column contractsComplete: nested business layouts, wrapping/spans, images/forms and controlled fonts verified on Win32/Win64
Scanned-document processingWhole-page orientation, arbitrary-angle deskew, border/shadow clean-up, bounded perspective correction, invertible coordinate mapping, and an OCR-to-structured-data workflowPlanned
PDF/A archival conversionOptional visible annotation/widget appearance composition, searchable text retention, a documented text/vector-preserving conversion profile, validation, explicit loss reporting, and atomic outputPlanned
Contract comparisonParagraph alignment, word/sentence insert/delete/replace records with both source positions, configurable boilerplate exclusion, and annotated PDF or HTML review outputComplete: two-sided contract edits, moves, exclusions and review artefacts verified on Delphi and FPC
Bounded paragraph editingReflow inside an explicit page rectangle, font and width changes, adjacent-content collision reporting, preview/commit/rollback, and supported cross-baseline and Form text editingPlanned
XLSX table exportOffice-independent XLSX with typed numbers/dates/currencies/percentages, merged cells, source-page metadata, bounded resources, and failure-safe outputComplete: native, JSON, and C ABI workbooks with Win32/Win64 and independent-reader acceptance
Electronic invoice profilesVersioned profile rule registration, correct Factur-X dispatch, dedicated XRechnung and French profile resources, explicit validation scope, and valid/invalid official acceptance fixturesComplete: versioned registry, official XRechnung and French CTC layers, and real Saxon acceptance
Linux headless deploymentReal Linux ELF builds and non-GUI acceptance for parsing, text, forms, security/signatures, and supported rendering without Windows or an active desktopIn progress: real Linux portable parsing, object I/O, compression, cryptography, writer, and text/font paths; full document, form, signature, and rendering integration remains
Dynamic XFA compatibilityBudgeted conditional events, explicit data binding, per-instance presentation, host painter/accessibility integration, and reproducible dynamic form fixturesPlanned
Barcode recognitionMultiple symbols per raster, Data Matrix perspective sampling, bounded recognition, source coordinates, and rotated/perspective/damaged-symbol fixturesIn progress: multi-symbol and perspective regression acceptance completed; integration remains

Release evidence

Version 2.801.0 adds structured and typed table export operations; Win32 and Win64 operation suites each pass 121 tests, including 30 new export cases, and independent JSON/XML/HTML/CSV readers verify the real Win64 ABI DLL with partial callbacks, budget failure, and publication cancellation

Version 2.802.0 adds native, JSON, and C ABI XLSX export; Win32 and Win64 each pass 134 operation and workbook cases, whilst real DLL output passes ZIP CRC and independent XML parsing with typed values and source-page selection

Version 2.803.0 adds explicit invoice rule registries and official XRechnung and French CTC validation; Win32 and Win64 each pass 17 cases, including real national-rule positive and negative samples, invalid engine settings, DTD rejection, and bounded process output

Version 2.804.0 releases the Linux portable core with eight regression groups on native Linux FPC 3.2.2 and 3.3.1, matching Windows compiler checks, and preserved Delphi/C++Builder type aliases; full Linux document, form, signature, and rendering acceptance remains in progress

Version 2.805.0 completes the HTML business-template workstream with 28 Win32 and 28 Win64 regression cases, actual PDF reloads, native fields, image objects, controlled font embedding, fallback and resource-budget checks

Version 2.806.0 completes the contract comparison workstream with 10 Win32 and 10 Win64 Delphi cases and five FPC acceptance groups per platform, covering real multi-page wording edits, cross-page paragraphs, duplicate clauses, Unicode review output, stale-source rejection, budgets and cancellation

Version 2.807.0 completes the barcode recognition workstream with 99 Win32 and 99 Win64 checks, including 18 new mixed-symbol, perspective, damaged-symbol, source-preservation, geometry, budget and cancellation checks; Windows FPC both platforms compile the native scanner and geometry helpers

Version 2.808.0 adds native headless classic-xref document loading, inherited resources and nested Form text, Unicode AcroForm inspection and value filling, and bounded atomic incremental saves; six native Linux FPC 3.2.2/3.3.1 and Windows FPC/Delphi targets each pass 46 assertions, whilst generated C++ interfaces and independent pypdf/MuPDF readers verify this first document profile

Version 2.809.0 adds Tesseract CLI/DLL and RapidOCR CLI/DLL to JSON and C ABI OCR jobs; Win32 and Win64 each verify 39 new operation cases and 134 existing operation/export cases, whilst actual Tesseract and independent PDF readers verify searchable text and unchanged scan pixels through the real Win64 ABI DLL

Version 2.810.0 completes scan preprocessing and structured OCR with 16 Win32 and 16 Win64 Delphi tests and six actual Windows FPC checks per platform; live Tesseract verifies four orientations and six corrected raster variants including a 37.5-degree scan, whilst geometry through ±179.25 degrees, work/allocation limits, process output overflow, in-flight cancellation, source preservation and semantic output are verified

Version 2.811.0 adds shared xref-stream and object-stream validation, hybrid revision precedence, exact wide numeric tokens, and source-preserving round trips for compressed objects; native Linux and Windows document/core acceptance and independent readers verify the expanded profile, and 66 parser regression cases per Delphi platform retain the existing performance gates

Version 2.812.0 completes the PDF/A archival enhancement workstream; Delphi Win32 and Win64 each pass 24 preservation cases and 47 existing raster cases, fresh Windows FPC and C++Builder interfaces compile, independent pypdf/MuPDF verify original content and resources, and three generated appearance/OCR artefacts pass veraPDF PDF/A-4 with zero failed rules or checks

Version 2.813.0 completes bounded paragraph editing with 20 Delphi cases per architecture and seven FPC acceptance groups per architecture, plus independent text/render checks across all four outputs; repeated-save regressions retain edits after the graph has been flushed

Version 2.814.0 adds AES-256 security to the native headless profile; two actual Linux FPC toolchains, two Windows FPC targets and two Delphi targets each pass 64 baseline, 81 provider and 82 encrypted-document assertions, C++Builder public headers compile, and independent strict readers validate 36 encrypted outputs and their preserved source prefixes

Version 2.815.0 completes the dynamic XFA host-adapter workstream through the documented instance-presentation helper profile; each Delphi architecture passes 23 new and 83 compatibility cases, fresh FPC sources and both C++Builder header targets compile, and independent pypdf/XML readers verify the persisted data and identities

Version 2.816.0 adds native streaming OpenSSL 3 CMS and exact PDF signature verification; six native Linux/Windows compiler targets each pass 40 provider and 13 document assertions, original Windows verifiers authenticate the generated signatures, both C++Builder public headers compile, and independent OpenSSL/pypdf/MuPDF checks verify the actual DER and PDF fixtures

Version 2.817.0 completes JSON/C ABI parity: each architecture passes 34 native/FPC signing assertions, 516 actual DLL signing assertions and 11 independent CMS checks; comparison passes 28 native/FPC and 82 actual DLL assertions per architecture plus 123 independent JSON/HTML/PDF checks, and existing operation, ABI and OCR regressions remain green

Version 2.818.0 adds native headless incremental PDF signature publication; each of six Linux/Windows compiler targets passes 45 plain/CAdES and 31 encrypted signing assertions, both C++Builder interfaces compile, and independent readers and OpenSSL verify 54 actual PDFs and 60 ByteRange signatures without weakening encrypted signature checks

Version 2.819.0 adds native CPU Cairo/FreeType PNG rendering and canonical standard-font advances; two native Linux FPC toolchains each pass 128 bounded rendering assertions and 946 independent pypdf/MuPDF pixel/geometry assertions, four Windows compiler targets build from fresh sources, both C++Builder public headers compile, and standard-font regressions match 1085 independent character origins across 15 actual pages

Version 2.820.0 completes the native Linux workstream with actual embedded Unicode widget appearances: each Linux FPC toolchain passes 19 metadata and 58 appearance assertions, each of four Windows compiler targets passes 19 and 52, both C++Builder interfaces compile, and independent readers validate 42 actual PDFs with 1294 assertions including original source prefixes, AES security, exact font/glyph/ToUnicode data and raster fidelity

The original eleven bounded workstreams have released-version evidence above; broader capabilities requested in the subsequent completion goal remain open until their implementation and required acceptance are complete

Active capability completion

The completion plan records the later releases and the remaining work; candidate implementations and partial target results do not establish a released feature or completion of the goal

Active deliveryRemaining acceptance
FDF and annotation transportComplete appearance states and resource graphs, embedded files and wider action chains, annotation replacement and removal, field policy modelling and incremental interchange with independent output verification
Native renderingAdditional default-appearance operators, text paint and clipping modes, graphics states, font and transform combinations, independent geometry and raster comparisons, printing policies and trial source rebuilding
Rich-text CSS and layoutBuild on released style sheets, media profiles, external resources and finite numeric math; complete further properties, selectors and media features, tables, images and general layout
Dynamic XFA runtimeGeneral template and form DOM editing, explicit remerge, occurrence and binding rules, stable aliases, external media and further consumers with transactional cancellation and persisted-reader verification

Current FPC implementation and release acceptance require version 3.3.1 or later on every platform and record the actual compiler build; older compiler results above retain their historical identities and are not current release gates

Execution constraints

Work directly in the canonical project directory, preserve unrelated edits, run non-GUI checks with viewer launch suppressed, stage only task changes, and never push

Update only canonical en-us documentation during implementation; translation synchronisation is a separate task