Een integratie kiezen
Een integratie kiezen
Sectie met titel “Een integratie kiezen”Gebruik deze pagina om je use case te koppelen aan de integratie die deze afhandelt. Elke aanbeveling komt uitsluitend voort uit de composer.json-beschrijving en het opgegeven doel van het pakket, die beide rechtstreeks uit de bronrepository worden gelezen. Wanneer twee integraties elkaar overlappen, benoemt deze pagina de onderscheidende factor, zodat je met vertrouwen kunt kiezen.
Zoek de rij die bij je situatie past en begin daar.
Begin hier: wat heb je?
Sectie met titel “Begin hier: wat heb je?”| Je hebt … | Gebruik | Waarom (geverifieerd doel) |
|---|---|---|
| Een Laravel 12-applicatie | nextpdf/laravel | Integratie met het Laravel-framework: service provider, facade en helpers voor Portable Document Format (PDF)-responses. |
| Een Symfony 7-applicatie | nextpdf/symfony | Symfony-bundle: dependency injection (DI)-services en helpers voor PDF-responses. |
| Een CodeIgniter 4-applicatie | nextpdf/codeigniter | CodeIgniter 4-services, library-wrapper en helpers voor PDF-responses. |
| Een PHP-app zonder framework | nextpdf/core rechtstreeks | Er is geen framework-integratie nodig; de engine is een eenvoudige library. |
| HTML waarvoor je een Cascading Style Sheets (CSS)-engine van een browser nodig hebt en Chrome kunt uitvoeren | nextpdf/artisan | Chrome DevTools Protocol (CDP)-renderer voor HTML die een CSS-lay-out op browserniveau nodig heeft. |
| Een Office-document dat moet worden geconverteerd, zoals DOCX, XLSX of ODT | nextpdf/gotenberg | Office-naar-PDF-conversie via een Gotenberg-microservice. |
| Je moet renderen zonder dat er een browserproces hoeft te draaien | nextpdf/cloudflare | Serverless renderen via de Cloudflare Browser Rendering API aan de edge. |
| Code die is geschreven voor een verouderde PDF-library | nextpdf/compat-legacy | Compatibiliteitslaag voor een verouderde PDF-library; roep NextPDF aan zonder de aanroeplocaties te herschrijven. |
| Een runtime die vastzit op PHP 8.1 / 7.4 | nextpdf/backport-builder | Rector-downgradepijplijn die een 8.1 / 7.4-target van de engine bouwt. |
| Externe aanroepers, een andere taal of een artificial intelligence (AI)-systeem | nextpdf/server | NextPDF Connect: Representational State Transfer (REST)-, gRPC- en Model Context Protocol-interface voor externe uitvoering. |
Wanneer twee integraties kunnen passen
Sectie met titel “Wanneer twee integraties kunnen passen”HTML naar PDF renderen: Artisan versus Gotenberg versus Cloudflare versus core
Sectie met titel “HTML naar PDF renderen: Artisan versus Gotenberg versus Cloudflare versus core”Alle drie de renderer-bruggen zetten markup om in PDF. Ze verschillen in werking, niet in kwaliteit. Laat dat operationele verschil de doorslag geven.
nextpdf/artisanstuurt headless Chrome aan via het Chrome DevTools Protocol. Het heeft een Chrome-proces nodig dat de applicatie kan bereiken. Kies dit wanneer je dat proces kunt beheren en het document een CSS-engine van een browser nodig heeft.nextpdf/gotenbergroept een Gotenberg-microservice buiten het proces aan via HTTP. Kies dit wanneer het renderen moet worden geïsoleerd in een eigen service, of wanneer de invoer een Office-document is. Gotenberg is de enige van de drie waarvan het opgegeven doel Office-naar-PDF omvat.nextpdf/cloudflareroept de Cloudflare Browser Rendering API aan. Kies dit wanneer je edge/serverless renderen wilt zonder een browserproces dat moet draaien of worden gepatcht.- De in-process NextPDF-core-HTML-pijplijn heeft niets van het bovenstaande nodig. Gebruik een renderer-brug alleen wanneer de in-process pijplijn niet de lay-outgetrouwheid of procesisolatie kan bieden die het document nodig heeft. Met een brug draag je die stap bewust over; het is niet het standaardpad.
De twee HTTP-bruggen (nextpdf/gotenberg, nextpdf/cloudflare) hebben een door de host geleverde PSR-18-HTTP-client nodig. Hun recipes behandelen een transportfout en een HTTP-status die geen succes aangeeft als afzonderlijke uitkomsten.
Een Office-document converteren
Sectie met titel “Een Office-document converteren”nextpdf/gotenberg is de integratie waarvan de geverifieerde composer.json-beschrijving Office-naar-PDF-conversie noemt. De andere renderer-bruggen beschrijven het renderen van HTML, niet Office-invoer. Als de bron DOCX/XLSX/ODT is, gebruik je deze integratie.
Migreren van een verouderde PDF-library
Sectie met titel “Migreren van een verouderde PDF-library”Volgens het opgegeven doel is nextpdf/compat-legacy een compatibiliteitslaag voor codebases die voor een verouderde PDF-library zijn geschreven. Daarmee kunnen bestaande aanroeplocaties NextPDF bereiken voordat je ze herschrijft. Beschouw het als een migratiehulpmiddel met een geplande verwijdering, niet als een permanente runtime-afhankelijkheid. Nieuwe code hoort nextpdf/core (of de relevante framework-integratie) rechtstreeks aan te roepen.
Draaien op PHP 8.1 of 7.4
Sectie met titel “Draaien op PHP 8.1 of 7.4”Elk ecosysteempakket declareert PHP >=8.4 <9.0. nextpdf/backport-builder bestaat juist voor deze beperking: het opgegeven doel is een Rector-downgradepijplijn die een artefact voor PHP 8.1+ (en een 7.4-target) bouwt. Het is een buildtool, geen runtime-afhankelijkheid voor je applicatie. Voer de builder uit om de gebackporteerde engine te produceren en deploy vervolgens die engine.
Een niet-PHP-aanroeper of een AI-agent
Sectie met titel “Een niet-PHP-aanroeper of een AI-agent”nextpdf/server (NextPDF Connect) stelt de engine beschikbaar via een REST API, een gRPC-service en het Model Context Protocol. Kies dit wanneer de aanroeper op afstand is, in een andere taal werkt of een AI-systeem is dat een tool-endpoint gebruikt in plaats van een PHP-library. Een PHP-applicatie in hetzelfde proces hoort nextpdf/core of een framework-integratie te gebruiken in plaats van een netwerkhop toe te voegen.
Meer dan één integratie samen gebruiken
Sectie met titel “Meer dan één integratie samen gebruiken”Een framework-integratie en een renderer-brug werken op verschillende lagen, dus je kunt beide installeren. De framework-integratie verzorgt de container-bedrading en de HTTP-response; de renderer-brug verzorgt de rendering-backend. Wanneer je een gecombineerde set afhankelijkheden oplost, controleer je welke nextpdf/core-versies elk pakket accepteert. De referentie voor de core-beperking in de index van het integratiecookbook is de bron van waarheid. Recipes per combinatie staan in de relevante repositories en zijn vanuit die index gelinkt.
Zie ook
Sectie met titel “Zie ook”- Integratiecookbook — referentie voor pakketten en de core-beperking, plus de linkindex met recipes.
- Receptconventies — het contract waaraan elk uitvoerbaar recipe voldoet.