Recettes PHP
Voici l’index des recettes PHP natives de NextPDF — des pages exécutables, centrées sur une tâche, écrites directement avec l’API PHP du cœur. Le dépôt principal nextpdf est la source d’autorité et vérifie chaque recette sous docs/public/cookbook/php/. Chacune s’appuie sur un script examples/*.php et un harnais de test tests/Cookbook/Php/. L’agrégateur importe ensuite chaque page dans ce site, avec sa provenance source.
Comme cette page est un index, elle ne fait aucune affirmation comportementale sur quelque recette que ce soit. Chaque ligne indique l’intention de la recette, le module du cœur qu’elle utilise et son profil de reproductibilité déclaré. Le profil et toute affirmation de conformité se trouvent sur la page de recette elle-même, et proviennent du front-matter de cette page ainsi que de son test intégré au dépôt — pas d’ici. Pour le livre de recettes d’intégration (framework / moteur de rendu / service), voir Livre de recettes d’intégration. Pour le contrat que suit chaque recette exécutable, voir Conventions de recette.
Comment sont organisés les slugs de recette
Section intitulée « Comment sont organisés les slugs de recette »Chaque recette est rédigée dans le dépôt principal sous docs/public/cookbook/php/ et publiée sur ce site par l’agrégateur. Le slug suit une seule convention : un segment unique.
/cookbook/php/<recipe>/<recipe> nomme l’intention de la recette en kebab-case (par exemple render-html-to-pdf, et non le nom de module html). Il est en minuscules, séparé par des traits d’union, sans numéros de version, et se termine par une seule barre oblique finale.
Profil de reproductibilité, en une ligne
Section intitulée « Profil de reproductibilité, en une ligne »Chaque recette déclare le profil le plus strict qu’elle peut honnêtement satisfaire :
- bitwise — identique octet pour octet d’une exécution à l’autre (contenu déterministe simple, toute l’entropie figée).
- structural — identique après normalisation des atomes volatils (le
/IDdu trailer, les dates de création/modification, les préfixes de sous-ensemble de police — en pratique, chaque PDF multi-objets). - semantic — équivalence de l’AST structurel et des métadonnées uniquement (sortie signée ou horodatée, ou sortie dont l’équivalence est intrinsèquement instable au niveau de l’octet).
Le profil est une propriété que la page de recette prouve avec son test de harnais. Cet index ne fait que rapporter la valeur que la page déclare.
Fondations
Section intitulée « Fondations »Construire, paginer et styliser un document.
| Recette | Ce qu’elle fait | Module | Profil |
|---|---|---|---|
render-html-to-pdf | Rendre un document HTML en PDF | Html | structural |
style-with-css | Appliquer du CSS à un rendu HTML | Html | structural |
html-table-layout | Mettre en page un tableau HTML | Html | structural |
paginate-long-html | Paginer un long document HTML | Html | structural |
paginate-large-html-tables | Paginer un grand tableau HTML sur plusieurs pages | Html | structural |
render-rtl-arabic-html | Rendre du HTML arabe de droite à gauche | Html | structural |
compose-text-and-fonts | Composer du texte avec un contrôle typographique | Typography | structural |
embed-and-subset-fonts | Intégrer et sous-ensembler des polices | Font | structural |
cjk-vertical-writing | Composer du texte CJK en mode d’écriture vertical | Typography | structural |
multi-page-document | Construire un document multi-pages | Document | structural |
headers-and-footers | Ajouter des en-têtes et pieds de page courants | Layout | structural |
Graphiques et contenu
Section intitulée « Graphiques et contenu »Vecteurs, images, calques et espace de coordonnées.
| Recette | Ce qu’elle fait | Module | Profil |
|---|---|---|---|
draw-vector-graphics | Dessiner des graphiques vectoriels | Graphics | structural |
gradients-and-transparency | Appliquer des dégradés et de la transparence | Graphics | structural |
embed-images | Intégrer des images matricielles | Content | structural |
add-watermarks-and-backgrounds | Ajouter aux pages des filigranes ou arrière-plans texte et image | Content | structural |
cmyk-spot-color-and-icc-profiles | Produire du CMJN et des tons directs prêts pour l’impression | Color | structural |
embed-file-attachments | Intégrer des fichiers et créer des portfolios PDF | Content | structural |
optional-content-layers | Utiliser du contenu optionnel (calques) | Graphics | structural |
transform-coordinate-space | Transformer l’espace de coordonnées | Graphics | structural |
Navigation et formulaires
Section intitulée « Navigation et formulaires »Signets, liens, annotations et champs AcroForm.
| Recette | Ce qu’elle fait | Module | Profil |
|---|---|---|---|
bookmarks-and-toc | Construire des signets et une table des matières | Navigation | structural |
generate-dynamic-table-of-contents | Générer une table des matières dynamique | Navigation | structural |
links-and-annotations | Ajouter des liens et des annotations | Navigation | structural |
generate-barcodes | Générer des codes-barres | Barcode | bitwise |
gs1-composite-barcodes | Générer des codes-barres GS1 Composite (porteur CC-C) | Barcode | structural |
fill-pdf-form | Remplir un AcroForm | Form | structural |
flatten-form-fields | Aplatir les champs de formulaire | Form | structural |
form-field-validation-and-flatten-with-state | Valider les champs de formulaire et aplatir en conservant l’état | Form | structural |
Informations du document
Section intitulée « Informations du document »Définir les métadonnées et le comportement de la visionneuse.
| Recette | Ce qu’elle fait | Module | Profil |
|---|---|---|---|
set-document-metadata | Définir les métadonnées du document | Metadata | structural |
set-viewer-preferences | Définir les préférences de la visionneuse | Document | structural |
Opérations sur les documents
Section intitulée « Opérations sur les documents »Assembler, scinder et optimiser des documents existants.
| Recette | Ce qu’elle fait | Module | Profil |
|---|---|---|---|
merge-external-pdfs | Fusionner des PDF externes ou ajouter des pages | Document | structural |
split-and-extract-pages | Scinder un PDF et extraire des plages de pages | Document | structural |
optimize-pdf-file-size | Réduire la taille du fichier PDF par compression et sous-ensemble | Document | structural |
Sécurité, signature et conformité
Section intitulée « Sécurité, signature et conformité »Chiffrement, signature, accessibilité et sortie profilée. Ces recettes explicitent, sur leur page, les frontières support≠conformité et présence≠validité.
| Recette | Ce qu’elle fait | Module | Profil |
|---|---|---|---|
encrypt-aes256 | Chiffrer en AES-256 et définir les indicateurs de permission | Sécurité | structural |
encrypt-with-permissions | Chiffrer avec des indicateurs de permission | Sécurité | structural |
sign-pades-b-b | Appliquer une signature PAdES (B-B et B-T) | Sécurité | semantic |
inspect-existing-signature | Inspecter une signature existante | Inspection | semantic |
tagged-pdf-ua2 | Émettre la structure balisée pour PDF/UA-2 | Accessibilité | semantic |
accessible-pdfua2-from-html | Émettre la structure balisée pour la création de PDF/UA-2 accessibles depuis du HTML | Accessibilité | semantic |
pdf-a-4-output | Produire une sortie PDF/A-4 | Conformité | semantic |
pdfa4-conformance-gate | Produire une sortie PDF/A-4 et appliquer un filtre via un validateur externe | Conformité | semantic |
validate-conformance | Valider par rapport à un profil de conformité | Compliance | semantic |
Inspection et extraction
Section intitulée « Inspection et extraction »Inspecter le contenu et la structure d’un PDF.
| Recette | Ce qu’elle fait | Module | Profil |
|---|---|---|---|
extract-text-content | Extraire le contenu textuel | Text | semantic |
multilingual-copy-paste-extraction | Rendre les PDF CJK et arabes correctement copiables-collables | Text | structural |
parse-and-inspect-pdf | Analyser et inspecter un PDF | Inspection | semantic |
inspect-layout-boxes | Inspecter les boîtes de mise en page | Inspection | semantic |
Transversal
Section intitulée « Transversal »Des motifs communs à plusieurs modules.
| Recette | Ce qu’elle fait | Couvre | Profil |
|---|---|---|---|
worker-safe-batch-rendering | Faire le rendu en toute sécurité dans un worker de longue durée (registres partagés, mémoire bornée) | Core · Performance · Support | semantic |
streaming-and-memory | Profiler le streaming et l’utilisation de la mémoire | Performance | bitwise |
exception-aware-error-handling | Gérer les erreurs avec la hiérarchie d’exceptions de NextPDF | Exception · Contracts | structural |
custom-error-recovery-patterns | Mettre en œuvre des stratégies personnalisées de récupération d’erreur et de nouvelle tentative | Exception | semantic |
observe-with-opentelemetry | Observer le rendu avec OpenTelemetry | Observability · Telemetry · Event | semantic |
Chaque recette ci-dessus est publiée avec un script examples/*.php de référence et un test de harnais tests/Cookbook/Php/ dans le dépôt principal. Lorsqu’une nouvelle recette est rédigée en amont, elle apparaît ici une fois que son exemple et son test sont disponibles.
Voir aussi
Section intitulée « Voir aussi »- Livre de recettes d’intégration — l’index des intégrations par framework, moteur de rendu et service.
- Conventions de recette — le contrat suivi par chaque recette exécutable de ce livre.