Integration auswählen
Integration auswählen
Abschnitt betitelt „Integration auswählen“Diese Seite ordnet jedem Anwendungsfall die passende Integration zu. Jede Empfehlung beruht ausschließlich auf der composer.json-Beschreibung des Pakets und seinem erklärten Zweck; beides wurde direkt aus dem Quell-Repository gelesen. Wenn sich zwei Integrationen überschneiden, benennt diese Seite den unterscheidenden Faktor und überlässt Ihnen die Entscheidung.
Suchen Sie die Zeile, die zu Ihrer Situation passt, und beginnen Sie dort.
Hier beginnen: Was haben Sie?
Abschnitt betitelt „Hier beginnen: Was haben Sie?“| Ausgangslage | Integration | Warum (geprüfter Zweck) |
|---|---|---|
| Eine Laravel-12-Anwendung | nextpdf/laravel | Laravel-Framework-Integration: Service Provider, Facade, PDF-Response-Helper. |
| Eine Symfony-7-Anwendung | nextpdf/symfony | Symfony-Bundle: DI-Services und PDF-Response-Helper. |
| Eine CodeIgniter-4-Anwendung | nextpdf/codeigniter | CodeIgniter-4-Services, Library-Wrapper und PDF-Response-Helper. |
| Eine PHP-App ohne Framework | nextpdf/core direkt | Keine Framework-Integration nötig; die Engine ist eine einfache Bibliothek. |
| HTML, das eine Browser-CSS-Engine erfordert, und die Möglichkeit, Chrome zu betreiben | nextpdf/artisan | Chrome-CDP-Renderer für HTML, das ein CSS-Layout in Browser-Qualität erfordert. |
| Ein Office-Dokument zum Konvertieren, etwa DOCX, XLSX oder ODT | nextpdf/gotenberg | Office-zu-PDF-Konvertierung über einen Gotenberg-Microservice. |
| Rendering ohne selbst zu betreibenden Browser-Prozess | nextpdf/cloudflare | Serverloses Rendering über die Cloudflare Browser Rendering API am Edge. |
| Code, der gegen eine veraltete PDF-Bibliothek geschrieben wurde | nextpdf/compat-legacy | Kompatibilitätsschicht für veraltete PDF-Bibliotheken; bestehende Aufrufstellen nutzen NextPDF, ohne umgeschrieben zu werden. |
| Eine Laufzeitumgebung, die auf PHP 8.1 / 7.4 festgelegt ist | nextpdf/backport-builder | Rector-Downgrade-Pipeline, die ein 8.1-/7.4-Target der Engine erstellt. |
| Entfernte Aufrufer, eine andere Sprache oder ein KI-System | nextpdf/server | NextPDF Connect: REST-, gRPC- und Model Context Protocol-Schnittstelle zur entfernten Ausführung. |
Wenn zwei Integrationen passen könnten
Abschnitt betitelt „Wenn zwei Integrationen passen könnten“HTML zu PDF rendern: Artisan vs. Gotenberg vs. Cloudflare vs. Core
Abschnitt betitelt „HTML zu PDF rendern: Artisan vs. Gotenberg vs. Cloudflare vs. Core“Alle drei Renderer-Brücken erzeugen aus Markup ein PDF. Sie unterscheiden sich in der Arbeitsweise, nicht in der Qualität; deshalb ist der betriebliche Unterschied ausschlaggebend.
nextpdf/artisansteuert headless Chrome über das Chrome DevTools Protocol. Sie benötigt einen Chrome-Prozess, der von der Anwendung aus erreichbar ist. Wählen Sie sie, wenn Sie diesen Prozess betreiben können und das Dokument eine Browser-CSS-Engine erfordert.nextpdf/gotenbergruft einen Out-of-Process-Gotenberg-Microservice über HTTP auf. Wählen Sie sie, wenn das Rendering in einem eigenen Service isoliert sein muss oder wenn die Eingabe ein Office-Dokument ist. Gotenberg ist die einzige der drei, deren erklärter Zweck Office-zu-PDF umfasst.nextpdf/cloudflareruft die Cloudflare Browser Rendering API auf. Wählen Sie sie, wenn Sie edge/serverless-Rendering ohne zu betreibenden oder zu patchenden Browser-Prozess wünschen.- Die in-process NextPDF-Core-HTML-Pipeline benötigt nichts davon. Setzen Sie eine Renderer-Brücke nur dann ein, wenn die in-process Pipeline die Layout-Treue oder die Prozessisolation, die das Dokument braucht, nicht erreichen kann. Eine Brücke ist eine bewusste Entscheidung, diesen Schritt abzugeben, nicht der Standardweg.
Die zwei HTTP-Brücken (nextpdf/gotenberg, nextpdf/cloudflare) benötigen einen vom Host bereitgestellten PSR-18-HTTP-Client. Ihre Rezepte behandeln einen Transportfehler und einen nicht erfolgreichen HTTP-Status als zwei verschiedene Ergebnisse.
Ein Office-Dokument konvertieren
Abschnitt betitelt „Ein Office-Dokument konvertieren“nextpdf/gotenberg ist die Integration, deren geprüfte composer.json-Beschreibung Office-zu-PDF-Konvertierung nennt. Die anderen Renderer-Brücken beschreiben HTML-Rendering, keine Office-Eingabe. Wenn die Quelle DOCX/XLSX/ODT ist, passt diese Integration.
Von einer veralteten PDF-Bibliothek migrieren
Abschnitt betitelt „Von einer veralteten PDF-Bibliothek migrieren“Dem erklärten Zweck nach ist nextpdf/compat-legacy eine Kompatibilitätsschicht für Codebasen, die gegen eine veraltete PDF-Bibliothek geschrieben wurden. Sie ermöglicht bestehenden Aufrufstellen, NextPDF zu erreichen, bevor diese umgeschrieben werden. Behandeln Sie sie als Migrationshilfe mit eingeplanter Entfernung, nicht als dauerhafte Laufzeitabhängigkeit. Neuer Code ruft nextpdf/core (oder die passende Framework-Integration) direkt auf.
Betrieb auf PHP 8.1 oder 7.4
Abschnitt betitelt „Betrieb auf PHP 8.1 oder 7.4“Jedes Ökosystem-Paket deklariert PHP >=8.4 <9.0. nextpdf/backport-builder existiert genau für diese Einschränkung: Sein erklärter Zweck ist eine Rector-Downgrade-Pipeline, die ein PHP-8.1+- (und ein 7.4-Target-)Artefakt erzeugt. Es ist ein Build-Tool, keine Laufzeitabhängigkeit Ihrer Anwendung. Führen Sie den Builder aus, um die rückportierte Engine zu erzeugen, und stellen Sie anschließend diese Engine bereit.
Ein Nicht-PHP-Aufrufer oder ein KI-Agent
Abschnitt betitelt „Ein Nicht-PHP-Aufrufer oder ein KI-Agent“nextpdf/server (NextPDF Connect) stellt die Engine über eine REST-API, einen gRPC-Service und das Model Context Protocol bereit. Wählen Sie ihn, wenn der Aufrufer entfernt ist, in einer anderen Sprache vorliegt oder ein KI-System ist, das einen Tool-Endpunkt statt einer PHP-Bibliothek nutzt. Eine PHP-Anwendung im selben Prozess sollte nextpdf/core oder eine Framework-Integration nutzen, statt einen Netzwerk-Hop in Kauf zu nehmen.
Mehrere Integrationen zusammen verwenden
Abschnitt betitelt „Mehrere Integrationen zusammen verwenden“Eine Framework-Integration und eine Renderer-Brücke arbeiten auf verschiedenen Schichten; daher können Sie beide installieren. Die Framework-Integration übernimmt die Container-Verdrahtung und die HTTP-Response; die Renderer-Brücke übernimmt das Rendering-Backend. Wenn Sie einen kombinierten Abhängigkeitssatz auflösen, prüfen Sie, welche nextpdf/core-Versionen jedes Paket akzeptiert. Dafür ist die Core-Constraint-Referenz im Integrations-Cookbook-Index die maßgebliche Quelle. Rezepte für die jeweiligen Kombinationen liegen in den jeweiligen Repositories und sind von diesem Index aus verlinkt.
Siehe auch
Abschnitt betitelt „Siehe auch“- Integrations-Cookbook — Paket- und Core-Constraint-Referenz sowie der Rezept-Link-Index.
- Rezept-Konventionen — der Vertrag, dem jedes ausführbare Rezept folgt.