PHP-Cookbook
Dies ist das Verzeichnis für PHP-native NextPDF-Rezepte — aufgabenorientierte, ausführbare Seiten, die direkt für die Core-PHP-API geschrieben sind. Das nextpdf-Core-Repository verantwortet und verifiziert jedes Rezept unter docs/public/cookbook/php/. Jedes Rezept wird durch ein examples/*.php-Skript und einen tests/Cookbook/Php/-Harness-Test abgesichert. Der Aggregator übernimmt dann jede Seite in diese Site und führt ihre Quellherkunft mit.
Da diese Seite ein Verzeichnis ist, macht sie keine Verhaltensaussage über einzelne Rezepte. Jede Zeile nennt den Zweck des Rezepts, das Core-Modul, das es nutzt, und sein deklariertes Reproduzierbarkeitsprofil. Das Profil und jede Konformitätsaussage stehen auf der Rezeptseite selbst, gespeist aus dem Front-Matter der jeweiligen Seite und ihrem Test im Repository — nicht hier. Das Integrations-Kochbuch für Framework, Renderer und Dienst finden Sie unter Integrations-Kochbuch. Den Vertrag, dem jedes ausführbare Rezept folgt, finden Sie unter Rezeptkonventionen.
Wie Rezept-Slugs organisiert sind
Abschnitt betitelt „Wie Rezept-Slugs organisiert sind“Jedes Rezept wird im Core-Repository unter docs/public/cookbook/php/ verfasst und vom Aggregator auf dieser Site veröffentlicht. Der Slug folgt der Konvention eines einzelnen Segments.
/cookbook/php/<recipe>/<recipe> bezeichnet den Zweck des Rezepts in Kebab-Case (zum Beispiel render-html-to-pdf, nicht den Modulnamen html). Er ist durchgängig kleingeschrieben, durch Bindestriche getrennt, frei von Versionsnummern und endet auf einem einzigen abschließenden Schrägstrich.
Reproduzierbarkeitsprofil in einer Zeile
Abschnitt betitelt „Reproduzierbarkeitsprofil in einer Zeile“Jedes Rezept deklariert das strengste Profil, das es ehrlich erfüllen kann:
- bitweise — byte-identisch über alle Durchläufe hinweg (rein deterministischer Inhalt, jede Entropie fixiert).
- strukturell — identisch nach Normalisierung flüchtiger Atome (das Trailer-
/ID, creation/modification-Daten, Font-Subset-Präfixe — in der Praxis jedes PDF mit mehreren Objekten). - semantisch — nur Äquivalenz des Struktur-AST plus Metadaten (signierte oder mit Zeitstempel versehene Ausgabe oder Ausgabe, deren Äquivalenz von Natur aus nicht byte-stabil ist).
Das Profil ist eine Eigenschaft, die die Rezeptseite durch ihren Harness-Test belegt. Dieses Verzeichnis meldet nur den Wert, den die Seite deklariert.
Grundlagen
Abschnitt betitelt „Grundlagen“Ein Dokument aufbauen, paginieren und gestalten.
| Rezept | Was es tut | Modul | Profil |
|---|---|---|---|
render-html-to-pdf | Ein HTML-Dokument in PDF rendern | Html | strukturell |
style-with-css | CSS auf ein HTML-Rendering anwenden | Html | strukturell |
html-table-layout | Eine HTML-Tabelle layouten | Html | strukturell |
paginate-long-html | Ein langes HTML-Dokument paginieren | Html | strukturell |
paginate-large-html-tables | Eine große HTML-Tabelle über mehrere Seiten paginieren | Html | strukturell |
render-rtl-arabic-html | Arabisches HTML von rechts nach links rendern | Html | strukturell |
compose-text-and-fonts | Text mit Typografie-Kontrolle setzen | Typography | strukturell |
embed-and-subset-fonts | Schriften einbetten und subsetten | Font | strukturell |
cjk-vertical-writing | CJK-Text im vertikalen Schreibmodus setzen | Typography | strukturell |
multi-page-document | Ein mehrseitiges Dokument aufbauen | Document | strukturell |
headers-and-footers | Laufende Kopf- und Fußzeilen hinzufügen | Layout | strukturell |
Grafik und Inhalt
Abschnitt betitelt „Grafik und Inhalt“Vektoren, Bilder, Ebenen und Koordinatenraum.
| Rezept | Was es tut | Modul | Profil |
|---|---|---|---|
draw-vector-graphics | Vektorgrafiken zeichnen | Graphics | strukturell |
gradients-and-transparency | Verläufe und Transparenz anwenden | Graphics | strukturell |
embed-images | Rasterbilder einbetten | Content | strukturell |
add-watermarks-and-backgrounds | Text- und Bildwasserzeichen oder Hintergründe zu Seiten hinzufügen | Content | strukturell |
cmyk-spot-color-and-icc-profiles | Druckfertige CMYK- und Sonderfarben erzeugen | Color | strukturell |
embed-file-attachments | Dateien einbetten und PDF-Portfolios erstellen | Content | strukturell |
optional-content-layers | Optionalen Inhalt (Ebenen) verwenden | Graphics | strukturell |
transform-coordinate-space | Den Koordinatenraum transformieren | Graphics | strukturell |
Navigation und Formulare
Abschnitt betitelt „Navigation und Formulare“Lesezeichen, Links, Anmerkungen und AcroForm-Felder.
| Rezept | Was es tut | Modul | Profil |
|---|---|---|---|
bookmarks-and-toc | Lesezeichen und ein Inhaltsverzeichnis aufbauen | Navigation | strukturell |
generate-dynamic-table-of-contents | Ein dynamisches Inhaltsverzeichnis generieren | Navigation | strukturell |
links-and-annotations | Links und Anmerkungen hinzufügen | Navigation | strukturell |
generate-barcodes | Barcodes generieren | Barcode | bitweise |
gs1-composite-barcodes | GS1-Composite-Barcodes erzeugen (CC-C-Träger) | Barcode | strukturell |
fill-pdf-form | Ein AcroForm ausfüllen | Form | strukturell |
flatten-form-fields | Formularfelder abflachen | Form | strukturell |
form-field-validation-and-flatten-with-state | Formularfelder validieren und mit Status abflachen | Form | strukturell |
Dokumentinformationen
Abschnitt betitelt „Dokumentinformationen“Metadaten und Viewer-Verhalten festlegen.
| Rezept | Was es tut | Modul | Profil |
|---|---|---|---|
set-document-metadata | Dokumentmetadaten festlegen | Metadata | strukturell |
set-viewer-preferences | Viewer-Einstellungen festlegen | Document | strukturell |
Dokumentoperationen
Abschnitt betitelt „Dokumentoperationen“Vorhandene Dokumente zusammenfügen, aufteilen und optimieren.
| Rezept | Was es tut | Modul | Profil |
|---|---|---|---|
merge-external-pdfs | Externe PDFs zusammenführen oder Seiten anhängen | Document | strukturell |
split-and-extract-pages | Ein PDF aufteilen und Seitenbereiche extrahieren | Document | strukturell |
optimize-pdf-file-size | PDF-Dateigröße durch Komprimierung und Subsetting reduzieren | Document | strukturell |
Security, Signatur und Konformität
Abschnitt betitelt „Security, Signatur und Konformität“Verschlüsselung, Signierung, Barrierefreiheit und Profilausgabe. Diese Rezepte machen die Grenzen Unterstützung≠Konformität und Vorhandensein≠Gültigkeit auf der jeweiligen Rezeptseite deutlich.
| Rezept | Was es tut | Modul | Profil |
|---|---|---|---|
encrypt-aes256 | Mit AES-256 verschlüsseln und Berechtigungsflags setzen | Security | strukturell |
encrypt-with-permissions | Mit Berechtigungsflags verschlüsseln | Security | strukturell |
sign-pades-b-b | Eine PAdES-Signatur anwenden (B-B und B-T) | Security | semantisch |
inspect-existing-signature | Eine vorhandene Signatur prüfen | Inspect | semantisch |
tagged-pdf-ua2 | Getaggte Struktur für PDF/UA-2 ausgeben | Accessibility | semantisch |
accessible-pdfua2-from-html | Die getaggte Struktur für barrierefreies PDF/UA-2-Authoring aus HTML ausgeben | Accessibility | semantisch |
pdf-a-4-output | PDF/A-4-Ausgabe erzeugen | Conformance | semantisch |
pdfa4-conformance-gate | PDF/A-4-Ausgabe erzeugen und mit einem externen Validator absichern | Conformance | semantisch |
validate-conformance | Gegen ein Konformitätsprofil validieren | Compliance | semantisch |
Inspektion und Extraktion
Abschnitt betitelt „Inspektion und Extraktion“Inhalt und Struktur aus einem PDF auslesen.
| Rezept | Was es tut | Modul | Profil |
|---|---|---|---|
extract-text-content | Textinhalt extrahieren | Text | semantisch |
multilingual-copy-paste-extraction | Korrektes Kopieren und Einfügen aus CJK- und arabischen PDFs sicherstellen | Text | strukturell |
parse-and-inspect-pdf | Ein PDF parsen und inspizieren | Inspect | semantisch |
inspect-layout-boxes | Layout-Boxen inspizieren | Inspect | semantisch |
Querschnittsthemen
Abschnitt betitelt „Querschnittsthemen“Muster, die sich über mehrere Module erstrecken.
| Rezept | Was es tut | Umfasst | Profil |
|---|---|---|---|
worker-safe-batch-rendering | Sicher in einem langlaufenden Worker rendern (gemeinsame Registries, begrenzter Speicher) | Core · Performance · Support | semantisch |
streaming-and-memory | Streaming- und Speichernutzung profilen | Performance | bitweise |
exception-aware-error-handling | Fehler mit der NextPDF-Ausnahmehierarchie behandeln | Exception · Contracts | strukturell |
custom-error-recovery-patterns | Eigene Fehlerbehebungs- und Wiederholungsstrategien implementieren | Exception | semantisch |
observe-with-opentelemetry | Rendering mit OpenTelemetry beobachten | Observability · Telemetry · Event | semantisch |
Jedes oben aufgeführte Rezept wird mit einem unterstützenden examples/*.php-Skript und einem tests/Cookbook/Php/-Harness-Test im Core-Repository veröffentlicht. Wird ein neues Rezept im Upstream verfasst, erscheint es hier, sobald sein Beispiel und sein Test vorliegen.
Siehe auch
Abschnitt betitelt „Siehe auch“- Integrations-Kochbuch — das Integrationsverzeichnis für Framework, Renderer und Dienste.
- Rezeptkonventionen — der Vertrag, dem jedes ausführbare Rezept in diesem Kochbuch folgt.