Présentation du package Core
Core · LGPL-3.0Le package Core (yeeefang/tcpdf-next) est la fondation de l'écosystème TCPDF-Next. Il contient tout le nécessaire pour la génération de documents PDF 2.0.
En un coup d'œil
| Métrique | Valeur |
|---|---|
| Fichiers source PHP | 148 |
| Modules | 16 |
| Tests | 908+ |
| Assertions | 28,881+ |
| Niveau PHPStan | 10 |
| Point d'entrée | Document::create() |
| Licence | LGPL-3.0-or-later |
Point d'entrée
Tous les documents commencent avec Document::create() :
use Yeeefang\TcpdfNext\Core\Document;
$pdf = Document::create()
->setTitle('My Document')
->addPage()
->setFont('Helvetica', '', 12)
->cell(0, 10, 'Hello World')
->save('output.pdf');La classe Document est final et implémente PdfDocumentInterface. Sa fonctionnalité provient de 12 traits composables — voir Philosophie de conception pour plus de détails.
Cartographie des modules
| Module | Namespace | Fichiers | Documentation |
|---|---|---|---|
| Core | Core\ | 6 | Document |
| Contracts | Contracts\ | 7 | Référence API |
| ValueObjects | ValueObjects\ | 5 | Value Objects |
| Support | Support\ | 1 | Référence API |
| Content | Content\ | 6 | Sortie de texte |
| Typography | Typography\ | 14 | Typographie, Polices |
| Graphics | Graphics\ | 19 | Couleurs, Graphiques, Images |
| Layout | Layout\ | 6 | Mise en page |
| Html | Html\ | 8 | Rendu HTML |
| Form | Form\ | 5 | Formulaires |
| Barcode | Barcode\ | 12 | Codes-barres |
| Navigation | Navigation\ | 11 | Navigation |
| Accessibility | Accessibility\ | 3 | PDF balisé |
| Security | Security\ | 14 | Chiffrement, Signatures |
| Writer | Writer\ | 8 | Sortie |
Capacités
Texte & Typographie
Unicode, BiDi (texte bidirectionnel), CJK, shaping arabe, césure. Subsetting de polices TTF/OTF/Type1/CFF. 14 polices PDF standard intégrées.
Graphiques
Formes (ligne, rect, cercle, ellipse, polygone, étoile, flèche, courbe), dégradés (linéaire, radial, Coons patch mesh, Gouraud triangle mesh), remplissages de motifs, analyse SVG/EPS, support d'images (PNG, JPEG, WebP, AVIF).
Rendu HTML
Parseur HTML intégré supportant div, p, h1-h6, table (colspan/rowspan), listes, styling inline. Pour CSS3 complet (Flexbox, Grid, web fonts), utilisez le package Artisan.
Codes-barres
1D : Code 128, EAN-8/13, UPC-A/E, Code 39/93, GS1-128, IMB, et plus. 2D : QR Code (ISO 18004), DataMatrix (ISO 16022), PDF417 (ISO 15438).
Sécurité
Chiffrement AES-256 (AESV3 Rev 6) avec SASLprep. Signatures numériques PAdES B-B avec apparence visible/invisible. Client timestamp RFC 3161.
Formulaires
Champs AcroForm : texte, checkbox, bouton radio, list box, combo box, bouton. Aplatissement de formulaires.
Navigation
Signets, liens internes/externes, destinations nommées, annotations, table des matières, fichiers joints, JavaScript.
Sortie
Sauvegarder dans un fichier, affichage inline, téléchargement, buffer string. Sortie en streaming pour les documents volumineux. Linéarisation pour affichage web progressif. Mode déterministe pour builds reproductibles.
