PHP-cookbook
Deze index geeft een overzicht van de PHP-native NextPDF-recipes: taakgerichte, uitvoerbare pagina’s die rechtstreeks tegen de core-PHP-API zijn geschreven. De core-repository nextpdf beheert en verifieert elk recipe onder docs/public/cookbook/php/. Elk recipe heeft een examples/*.php-script en een testharnas in tests/Cookbook/Php/. De aggregator haalt vervolgens elke pagina naar deze site en behoudt de bronherkomst ervan.
Omdat deze pagina een index is, doet zij geen uitspraken over het gedrag van een recipe. Elke rij legt het doel van het recipe vast, de core-module die het gebruikt en het opgegeven reproduceerbaarheidsprofiel. Het profiel en elke conformiteitsuitspraak horen thuis op de recipepagina zelf. Ze komen uit de frontmatter van die pagina en de bijbehorende in-repo-test, niet uit deze index. Voor het integratiecookbook (framework / renderer / service), raadpleeg Integratiecookbook. Voor het contract dat elk uitvoerbaar recipe volgt, raadpleeg Receptconventies.
Hoe recipeslugs zijn georganiseerd
Sectie met titel “Hoe recipeslugs zijn georganiseerd”Elk recipe wordt geschreven in de core-repository onder docs/public/cookbook/php/ en door de aggregator op deze site gepubliceerd. Elke slug volgt één conventie: een enkel segment.
/cookbook/php/<recipe>/<recipe> benoemt het doel van het recipe in kebab-case (bijvoorbeeld render-html-to-pdf, niet de modulenaam html). De slug staat in kleine letters, is gescheiden door koppeltekens, bevat geen versienummers en eindigt op één afsluitende slash.
Reproduceerbaarheidsprofiel, in één regel
Sectie met titel “Reproduceerbaarheidsprofiel, in één regel”Elk recipe geeft het striktste profiel op dat het eerlijk kan waarmaken:
- bitwise — byte-identiek over uitvoeringen heen (eenvoudige deterministische inhoud met alle entropie vastgepind).
- structural — identiek na het normaliseren van vluchtige atomen (de trailer
/ID, creation/modification-datums, lettertype-subsetvoorvoegsels — in de praktijk elke PDF met meerdere objecten). - semantic — uitsluitend structurele AST plus metadata-equivalentie (ondertekende of van een tijdstempel voorziene uitvoer, of uitvoer waarvan de equivalentie inherent niet byte-stabiel is).
De recipepagina bewijst het profiel met het bijbehorende testharnas. Deze index rapporteert alleen de waarde die die pagina opgeeft.
Fundamenten
Sectie met titel “Fundamenten”Een document opbouwen, pagineren en vormgeven.
| Recept | Wat het doet | Module | Profiel |
|---|---|---|---|
render-html-to-pdf | Een HTML-document naar PDF renderen | Html | structural |
style-with-css | CSS toepassen op een HTML-weergave | Html | structural |
html-table-layout | Een HTML-tabel opmaken | Html | structural |
paginate-long-html | Een lang HTML-document pagineren | Html | structural |
paginate-large-html-tables | Een grote HTML-tabel over meerdere pagina’s laten doorlopen | Html | structural |
render-rtl-arabic-html | Arabische HTML van rechts naar links renderen | Html | structural |
compose-text-and-fonts | Tekst samenstellen met controle over de typografie | Typography | structural |
embed-and-subset-fonts | Lettertypen insluiten en subsetten | Font | structural |
cjk-vertical-writing | CJK-tekst zetten in de verticale schrijfmodus | Typography | structural |
multi-page-document | Een document met meerdere pagina’s opbouwen | Document | structural |
headers-and-footers | Doorlopende kop- en voetteksten toevoegen | Layout | structural |
Afbeeldingen en inhoud
Sectie met titel “Afbeeldingen en inhoud”Werken met vectoren, afbeeldingen, lagen en de coördinatenruimte.
| Recept | Wat het doet | Module | Profiel |
|---|---|---|---|
draw-vector-graphics | Vectorafbeeldingen tekenen | Graphics | structural |
gradients-and-transparency | Verlopen en transparantie toepassen | Graphics | structural |
embed-images | Rasterafbeeldingen insluiten | Content | structural |
add-watermarks-and-backgrounds | Tekst- en afbeeldingswatermerken of achtergronden aan pagina’s toevoegen | Content | structural |
cmyk-spot-color-and-icc-profiles | Drukklare CMYK- en steunkleuren produceren | Color | structural |
embed-file-attachments | Bestanden insluiten en PDF-portfolio’s maken | Content | structural |
optional-content-layers | Optionele inhoud (lagen) gebruiken | Graphics | structural |
transform-coordinate-space | De coördinatenruimte transformeren | Graphics | structural |
Navigatie en formulieren
Sectie met titel “Navigatie en formulieren”Bladwijzers, koppelingen, annotaties en AcroForm-velden toevoegen.
| Recept | Wat het doet | Module | Profiel |
|---|---|---|---|
bookmarks-and-toc | Bladwijzers en een inhoudsopgave opbouwen | Navigation | structural |
generate-dynamic-table-of-contents | Een dynamische inhoudsopgave genereren | Navigation | structural |
links-and-annotations | Koppelingen en annotaties toevoegen | Navigation | structural |
generate-barcodes | Barcodes genereren | Barcode | bitwise |
gs1-composite-barcodes | GS1 Composite-barcodes genereren (CC-C-drager) | Barcode | structural |
fill-pdf-form | Een AcroForm invullen | Form | structural |
flatten-form-fields | Formuliervelden afvlakken | Form | structural |
form-field-validation-and-flatten-with-state | Formuliervelden valideren en afvlakken met status | Form | structural |
Documentinformatie
Sectie met titel “Documentinformatie”Metadata en viewergedrag instellen.
| Recept | Wat het doet | Module | Profiel |
|---|---|---|---|
set-document-metadata | Documentmetadata instellen | Metadata | structural |
set-viewer-preferences | Viewervoorkeuren instellen | Document | structural |
Documentbewerkingen
Sectie met titel “Documentbewerkingen”Bestaande documenten samenvoegen, splitsen en optimaliseren.
| Recept | Wat het doet | Module | Profiel |
|---|---|---|---|
merge-external-pdfs | Externe PDF’s samenvoegen of pagina’s toevoegen | Document | structural |
split-and-extract-pages | Een PDF splitsen en paginabereiken extraheren | Document | structural |
optimize-pdf-file-size | De PDF-bestandsgrootte verkleinen met compressie en subsetten | Document | structural |
Security, handtekening en conformiteit
Sectie met titel “Security, handtekening en conformiteit”Versleuteling, ondertekening, toegankelijkheid en profieluitvoer gebruiken. Deze recipes bewaken de grenzen support≠conformance en presence≠validity op de recipepagina.
| Recept | Wat het doet | Module | Profiel |
|---|---|---|---|
encrypt-aes256 | Versleutelen met AES-256 en machtigingsvlaggen instellen | Security | structural |
encrypt-with-permissions | Versleutelen met machtigingsvlaggen | Security | structural |
sign-pades-b-b | Een PAdES-handtekening toepassen (B-B en B-T) | Security | semantic |
inspect-existing-signature | Een bestaande handtekening inspecteren | Inspect | semantic |
tagged-pdf-ua2 | Getagde structuur uitsturen voor PDF/UA-2 | Accessibility | semantic |
accessible-pdfua2-from-html | De getagde structuur uitsturen voor het maken van toegankelijke PDF/UA-2 vanuit HTML | Accessibility | semantic |
pdf-a-4-output | PDF/A-4-uitvoer produceren | Conformance | semantic |
pdfa4-conformance-gate | PDF/A-4-uitvoer produceren en deze laten afhangen van een externe validator | Conformance | semantic |
validate-conformance | Valideren tegen een conformiteitsprofiel | Compliance | semantic |
Inspectie en extractie
Sectie met titel “Inspectie en extractie”Inhoud en structuur uit een PDF uitlezen.
| Recept | Wat het doet | Module | Profiel |
|---|---|---|---|
extract-text-content | Tekstinhoud extraheren | Text | semantic |
multilingual-copy-paste-extraction | CJK- en Arabische PDF’s correct kopieerbaar en plakbaar maken | Text | structural |
parse-and-inspect-pdf | Een PDF parseren en inspecteren | Inspect | semantic |
inspect-layout-boxes | Lay-outvakken inspecteren | Inspect | semantic |
Overkoepelend
Sectie met titel “Overkoepelend”Patronen gebruiken die meerdere modules beslaan.
| Recept | Wat het doet | Beslaat | Profiel |
|---|---|---|---|
worker-safe-batch-rendering | Veilig renderen in een langlopende worker (gedeelde registers, begrensd geheugen) | Core · Performance · Support | semantic |
streaming-and-memory | Streaming- en geheugengebruik profileren | Performance | bitwise |
exception-aware-error-handling | Fouten afhandelen met de NextPDF-uitzonderingshiërarchie | Exception · Contracts | structural |
custom-error-recovery-patterns | Aangepaste foutherstel- en herhaalstrategieën implementeren | Exception | semantic |
observe-with-opentelemetry | Het renderen observeren met OpenTelemetry | Observability · Telemetry · Event | semantic |
Elk recipe hierboven wordt gepubliceerd met een bijbehorend examples/*.php-script en een testharnas in tests/Cookbook/Php/ in de core-repository. Wanneer er upstream een nieuw recipe wordt geschreven, verschijnt het hier zodra het bijbehorende voorbeeld en de test landen.
Zie ook
Sectie met titel “Zie ook”- Integratiecookbook — de index voor framework-, renderer- en service-integraties.
- Receptconventies — het contract dat elk uitvoerbaar recipe in dit cookbook volgt.