Recettes PHP
Recettes PHP
Section intitulée « 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 se résout un lien de recette
Section intitulée « Comment se résout un lien de recette »Chaque [[…]] ci-dessous est une référence anticipée vers une page rédigée dans le dépôt principal sous docs/public/cookbook/php/, puis importée dans 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. Tant qu’une page cible n’est pas agrégée, son lien reste un espace réservé et ne se résout pas. Une recette qui n’a pas encore d’exemple exécutable (la liste des manques ci-dessous) ne peut pas être publiée tant que son exemple et son harnais de test n’existent pas, même si le lien pointe déjà vers le slug à venir.
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.
Recettes déjà en cours d’agrégation
Section intitulée « Recettes déjà en cours d’agrégation »Le dépôt principal détient déjà ces cinq recettes et les fusionne aujourd’hui — l’ensemble de la Wave 8.
| Recette | Ce qu’elle fait | Module | Profil |
|---|---|---|---|
sign-pades (prévue en amont) | Appliquer une signature de base CMS/PAdES avec une clé logicielle | Sécurité | semantic |
encrypt-aes256 (prévue en amont) | Chiffrer en AES-256 et définir les indicateurs de permission | Sécurité | structural |
pdfa4-conformance-gate (prévue en amont) | Produire une sortie PDF/A-4 et appliquer un filtre via un validateur externe | Conformité | semantic |
accessible-pdfua2-from-html (prévue en amont) | Émettre la structure balisée pour la création de PDF/UA-2 accessibles | Accessibilité | semantic |
validate-signature (prévue en amont) | Inspecter si un PDF porte une signature, et la frontière de confiance | Inspection | semantic |
Fondations
Section intitulée « Fondations »Construire, paginer et styliser un document.
| Recette | Ce qu’elle fait | Module | Profil |
|---|---|---|---|
render-html-to-pdf (prévue en amont) | Rendre un document HTML en PDF | Html | structural |
style-with-css (prévue en amont) | Appliquer du CSS à un rendu HTML | Html | structural |
html-table-layout (prévue en amont) | Mettre en page un tableau HTML | Html | structural |
paginate-long-html (prévue en amont) | Paginer un long document HTML | Html | structural |
compose-text-and-fonts (prévue en amont) | Composer du texte avec un contrôle typographique | Typography | structural |
embed-and-subset-fonts (prévue en amont) | Intégrer et sous-ensembler des polices | Font | structural |
cjk-vertical-writing (prévue en amont) | Composer du texte CJK en mode d’écriture vertical | Typography | structural |
multi-page-document (prévue en amont) | Construire un document multi-pages | Document | structural |
headers-and-footers (prévue en amont) | 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 (prévue en amont) | Dessiner des graphiques vectoriels | Graphics | structural |
gradients-and-transparency (prévue en amont) | Appliquer des dégradés et de la transparence | Graphics | structural |
embed-images (prévue en amont) | Intégrer des images matricielles | Content | structural |
optional-content-layers (prévue en amont) | Utiliser du contenu optionnel (calques) | Graphics | structural |
transform-coordinate-space (prévue en amont) | 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 (prévue en amont) | Construire des signets et une table des matières | Navigation | structural |
links-and-annotations (prévue en amont) | Ajouter des liens et des annotations | Navigation | structural |
generate-barcodes (prévue en amont) | Générer des codes-barres | Barcode | bitwise |
fill-pdf-form (prévue en amont) | Remplir un AcroForm | Form | structural |
flatten-form-fields (prévue en amont) | Aplatir les champs de formulaire | 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 (prévue en amont) | Définir les métadonnées du document | Metadata | structural |
set-viewer-preferences (prévue en amont) | Définir les préférences de la visionneuse | 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-with-permissions (prévue en amont) | Chiffrer avec des indicateurs de permission | Sécurité | structural |
sign-pades-b-b (prévue en amont) | Appliquer une signature PAdES (B-B et B-T) | Sécurité | semantic |
inspect-existing-signature (prévue en amont) | Inspecter une signature existante | Inspection | semantic |
tagged-pdf-ua2 (prévue en amont) | Émettre la structure balisée pour PDF/UA-2 | Accessibilité | semantic |
pdf-a-4-output (prévue en amont) | Produire une sortie PDF/A-4 | Conformité | semantic |
validate-conformance (prévue en amont) | 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 (prévue en amont) | Extraire le contenu textuel | Text | semantic |
parse-and-inspect-pdf (prévue en amont) | Analyser et inspecter un PDF | Inspection | semantic |
inspect-layout-boxes (prévue en amont) | 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 (prévue en amont) | 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 |
exception-aware-error-handling (prévue en amont) | Gérer les erreurs avec la hiérarchie d’exceptions de NextPDF | Exception · Contracts | structural |
observe-with-opentelemetry (prévue en amont) | Observer le rendu avec OpenTelemetry | Observability · Telemetry · Event | semantic |
Recettes en attente d’un exemple exécutable
Section intitulée « Recettes en attente d’un exemple exécutable »Ces recettes ont besoin d’un nouveau examples/*.php ainsi que d’un harnais tests/Cookbook/Php/ dans le dépôt principal avant de pouvoir être publiées. Le slug ci-dessus est définitif. La page reste un espace réservé jusqu’à ce que l’exemple soit disponible et que son test s’exécute :
sign-pades-b-b(prévue en amont) (couvre PAdES B-B et B-T)inspect-existing-signature(prévue en amont)extract-text-content(prévue en amont)parse-and-inspect-pdf(prévue en amont)validate-conformance(prévue en amont)inspect-layout-boxes(prévue en amont)worker-safe-batch-rendering(prévue en amont) (l’exemple existe ; nouveau test de harnais mémoire/GC ajouté)observe-with-opentelemetry(prévue en amont) (nouvel exemple PHP natif ajouté)
Toutes les autres recettes ci-dessus disposent déjà d’un examples/*.php de référence et n’ont plus besoin que d’un harnais d’emballage. Cet index consigne le slug et la page à venir. Il ne prétend pas qu’une page en attente soit déjà complète.
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.