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.5 without 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 require command 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.3 without 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.5 constraint.
  • 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.0 under 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, /Prev revisions, free entries and generations.
  • Xref streams and compressed /ObjStm objects, 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.

Guide source at the documented commit ↗