Repository navigation
v0.1.0 - Explicit PDF object model
Première version publique du modèle objet explicite de PDF 1.7 / ISO 32000-1:2008, pour PHP 8.5.
Ce qui est disponible
- Valeurs, entrées, références et définitions PDF composées d'objets, avec une identité propre à chaque document et aucun singleton global.
- Écriture de PDF classiques et compressés : longueurs et offsets en octets, tables et flux de références croisées, flux d'objets.
- Opérateurs de contenu typés, arbres de pages, ressources, polices standard, métadonnées, destinations, plans et arbres de noms/nombres.
- Les quatre représentations de fonction PDF.
- 263 dictionnaires, 1 405 classes d'entrée et un catalogue traçable de la référence, avec génération reproductible.
Validation
147 tests et 7 189 assertions, PHPStan niveau 8, PSR-12 et lecture indépendante des exemples. La CI vérifie aussi les fichiers produits avec qpdf.
Installation
PHP 8.5 avec ctype, iconv et zlib est nécessaire. Le tag est v0.1.0.
composer config repositories.roukmoute-pdf vcs https://github.com/roukmoute/pdf
composer require roukmoute/pdf:^0.1Périmètre de cette première version
L'API peut évoluer avant 1.0 et remplace le prototype PHP 7.4. La bibliothèque vise la construction du format objet par objet, sans API de mise en page.
La conformité PDF complète n'est pas revendiquée : chiffrement, signatures, sous-ensembles de polices, certains codecs, mises à jour incrémentales, linéarisation et contraintes sémantiques supplémentaires restent à implémenter. Les définitions de dictionnaires ne remplacent pas ces traitements.