Optional module · pdftoolkit/pdf-reader 0.1.7
English | Français
Unreleased
0.1.7 — 2026-10-14
Compatibility
- Accepts stable core
roukmoute/pdf:^0.2 || ^0.3 || ^0.4 || ^0.5 || ^0.6. - Locks release validation to published core
0.5.5without changing development tool versions or commits. - Checks the unchanged module against the core 0.6 candidate on PHP 8.3, 8.4 and 8.5.
- Preserves the reader API, limits and PDF 1.0–1.7 input coverage; PDF 2.0 reading is not added.
0.1.6 — 2026-10-14
Bilingual documentation
- Makes English the default language for the README, guides and complete release history.
- Adds complete French counterparts with reciprocal language links and French documentation entrypoints.
- Translates explanatory example comments while preserving executable tokens and output data.
- Locks validation to published core 0.5.4 without changing other dependency versions or commits.
- Preserves API identifiers, original fixtures and runtime behaviour.
0.1.5 — 2026-10-14
Installation and publication
- Publishes the package on Packagist and reduces installation to one
composer requirecommand in an application. - Uses default Composer repositories and connects package metadata to its
documentation at
https://pdftoolkit.github.io/. - Locks checks to stable core
roukmoute/pdf:0.5.3without changing development tool versions. - Verifies indexing of published versions and installation without VCS or local repositories. Preserves the PHP API, existing mechanisms and limits.
0.1.4 — 2026-10-14
Documentation
- Connects shared documentation to
https://pdftoolkit.github.io/and adds the stable reader entrypoint at/modules/reader/. - Entrusts shared guides and site publication to
PDFToolkit/pdftoolkit.github.io, with module sources pinned to their published versions and exact commits. - Corrects README compatibility information to reflect the existing
roukmoute/pdf:^0.2 || ^0.3 || ^0.4 || ^0.5constraint. - Preserves the API, reading mechanisms, dependencies and their locked versions; this release changes documentation only.
0.1.3 — 2026-10-13
Compatibility
- Accepts stable core
roukmoute/pdf:^0.2 || ^0.3 || ^0.4 || ^0.5. - Locks checks to published core
0.4.0under PHP 8.3, 8.4 and 8.5. - Preserves the reader API and limits; no additional reading mechanism is added by this compatibility patch.
0.1.2 — 2026-10-13
Compatibility
- Accepts stable core
roukmoute/pdf:^0.2 || ^0.3 || ^0.4. - Preserves the module API and external-data processing boundary.
- Checks stable core 0.3.0 and new core 0.4 objects in development under PHP 8.3, 8.4 and 8.5.
0.1.1 — 2026-10-13
Compatibility
- Accepts core
roukmoute/pdf:^0.2 || ^0.3, allowing installation with new PDF objects in the 0.3 series without changing the module API. - Revalidates tests and independent PDFs with stable core
0.2.1. No reading or conversion mechanism is added by this patch.
0.1.0 — 2026-10-13
First implementation of the external PDF reader, under PDF\Reading, in
pdftoolkit/pdf-reader. The reader depends on shared model roukmoute/pdf:^0.2;
no reverse dependency is added to the model.
Added
- Structural reading of PDF 1.0 to 1.7 using the same object primitives.
- Bounded syntax parser, indirect objects and streams with direct or indirect lengths.
- Traditional xref tables,
/Prevrevisions, free entries and generations. - Xref streams and compressed
/ObjStmobjects, with explicit resolution and document caches. - Bounded page-tree traversal, checking counts, parents and identities.
- Immutable read-page objects and effective attributes: resources, MediaBox, CropBox and rotation.
- Ordered reading of a page's content streams, without implicit concatenation or decoding.
- Flate, ASCIIHex, ASCII85 and RunLength decoding; TIFF and PNG predictors with 8-bit components.
- Configurable limits, cumulative budgets and structural or unsupported-feature diagnostics.
- Five original fixtures generated with pypdf and qpdf, independently of the PHP writer.
- Two independent page-inheritance fixtures, with traditional xref and compressed objects.
- Checks on PHP 8.3, 8.4 and 8.5; component and security-boundary documentation.
Hybrid references, encryption, PDF 2.0, import into the writer, rewriting, text extraction and rendering are not implemented yet.