Ga naar inhoud

Integratiekookboek

NextPDF-core genereert Portable Document Format (PDF) 2.0 vanuit PHP. De negen integratiepakketten verbinden die engine met een framework, een weergavebackend, een verouderde codebase, een buildpijplijn of een netwerkdienst. Deze pagina legt uit waar elke integratie voor bedoeld is, vermeldt de pakketnaam en de coreversieconstraint (rechtstreeks gelezen uit de bijbehorende composer.json) en linkt naar de recepten per integratie die hier verschijnen zodra de bronrepository’s hun docs/public/-mappen uitleveren.

Deze pagina is een index en doet daarom geen enkele uitspraak over het gedrag van integraties. De recepten worden beheerd in de repository van de betreffende integratie. De aggregator haalt ze op voor deze site. Totdat een recept beschikbaar is, verwijst de bijbehorende link naar een placeholder. Lees Een integratie kiezen voor een aanbeveling op basis van je toepassing. Lees Receptconventies voor het contract dat elk uitvoerbaar recept volgt.

De negen pakketten vallen uiteen in vijf vormen. Elke vorm geeft aan welk soort probleem de integratie oplost.

  • Frameworkintegraties koppelen NextPDF aan de servicecontainer en de request-levenscyclus van een applicatieframework: nextpdf/laravel, nextpdf/symfony, nextpdf/codeigniter. Je installeert er een, resolvet een service en retourneert een PDF-response.
  • Weergavebruggen sturen de HTML-naar-PDF- of Office-naar-PDF-stap naar een externe weergavebackend in plaats van naar de in-process-pijplijn: nextpdf/artisan (headless Chrome via het Chrome DevTools Protocol), nextpdf/gotenberg (een Gotenberg-microservice), nextpdf/cloudflare (Cloudflare Browser Rendering aan de edge).
  • Een compatibiliteitsshim laat een codebase die voor een verouderde PDF-bibliotheek is geschreven, NextPDF aanroepen voordat je die codebase herschrijft: nextpdf/compat-legacy.
  • Een buildtool produceert een backport van NextPDF voor PHP 8.1 / 7.4 voor runtimes die 8.4 niet kunnen draaien: nextpdf/backport-builder.
  • Een netwerkdienst stelt NextPDF beschikbaar via Representational State Transfer (REST), gRPC en het Model Context Protocol voor AI-systemen en externe aanroepers: nextpdf/server (gedistribueerd als NextPDF Connect).

De weergavebruggen die Hypertext Transfer Protocol (HTTP) gebruiken (nextpdf/gotenberg, nextpdf/cloudflare en het HTTP-clientpad in nextpdf/laravel) zijn afhankelijk van een door de hostapplicatie geleverde HTTP-client volgens PHP Standard Recommendation 18 (PSR-18). Volgens PSR-18 §4 werpt de client alleen een getypeerde clientexceptie op wanneer hij het verzoek helemaal niet kan verzenden. Een HTTP-4xx- of 5xx-response is volgens dezelfde clausule PSR-18 §4 een normale retourwaarde en geen exceptie. Recepten die een externe weergavebackend aanroepen, behandelen transportfouten en niet-succesvolle statussen als afzonderlijke gevallen.

Elke waarde hieronder komt uit de composer.json van het genoemde pakket (de gezaghebbende bron). De coreconstraint is de door het pakket gedeclareerde nextpdf/core-vereiste. nextpdf/backport-builder declareert geen nextpdf/core-vereiste, omdat het de enginebroncode transformeert in plaats van tijdens runtime van de engine afhankelijk te zijn.

IntegratiePakketVormCoreconstraintRecept
Laravelnextpdf/laravelFramework^3.0 || ^5.2Laravel-quickstart [[/integrations/laravel/quickstart/]]
Symfonynextpdf/symfonyFramework^3.0 || ^5.2Symfony-quickstart [[/integrations/symfony/quickstart/]]
CodeIgniter 4nextpdf/codeigniterFramework^3.0 || ^5.2CodeIgniter-quickstart [[/integrations/codeigniter/quickstart/]]
Artisan (Chrome)nextpdf/artisanWeergavebrug^3.0 || ^5.2Artisan-quickstart [[/integrations/artisan/quickstart/]]
Gotenbergnextpdf/gotenbergWeergavebrug^3.0Gotenberg-quickstart [[/integrations/gotenberg/quickstart/]]
Cloudflarenextpdf/cloudflareWeergavebrug^3.0Cloudflare-quickstart [[/integrations/cloudflare/quickstart/]]
Compat (legacy)nextpdf/compat-legacyCompatibiliteitsshim^3.0Compat-legacy-quickstart [[/integrations/compat-legacy/quickstart/]]
Backport-buildernextpdf/backport-builderBuildtoolniet van toepassingBackport-quickstart [[/integrations/backport/quickstart/]]
Connect (server)nextpdf/serverNetwerkdienst^3.0Connect-quickstart [[/integrations/connect/quickstart/]]

NextPDF distribueert nextpdf/server onder de productnaam NextPDF Connect; de bijbehorende recepten staan onder de slug connect. nextpdf/compat-legacy wordt uitgeleverd vanuit de compat-familie; de bijbehorende recepten staan onder de slug compat-legacy.

Elk pakket vereist op zijn eigen runtime PHP >=8.4 <9.0. nextpdf/backport-builder bestaat om artefacten te produceren die op PHP 8.1 draaien (en een 7.4-target). De resulterende gebackportte engine draait op de oudere runtime; de builder zelf niet.

  • nextpdf/laravel — een Laravel 12-serviceprovider, -facade en PDF-responsehelpers. Gebruik dit wanneer je applicatie een Laravel-app is en je NextPDF uit de container wilt resolven en als HTTP-response wilt retourneren, zonder handmatige bedrading. Recept: [[/integrations/laravel/quickstart/]].
  • nextpdf/symfony — een Symfony 7-bundle met dependency-injection-services en PDF-responsehelpers. Gebruik dit wanneer je applicatie een Symfony-app is. De bundle registreert de engine als service en integreert met symfony/http-foundation-responses. Recept: [[/integrations/symfony/quickstart/]].
  • nextpdf/codeigniter — een CodeIgniter 4-service, bibliotheekwrapper en PDF-responsehelpers. Gebruik dit wanneer je applicatie een CodeIgniter 4-app is en je NextPDF via de servicelocator van het framework beschikbaar wilt stellen. Recept: [[/integrations/codeigniter/quickstart/]].
  • nextpdf/artisan — een headless-Chrome-renderer via het Chrome DevTools Protocol. Gebruik dit wanneer een document de Cascading Style Sheets (CSS)-engine van een browser nodig heeft voor lay-outgetrouwheid waar de in-process-HTML-pijplijn niet op is gericht, en je dicht bij de applicatie een Chrome-proces kunt draaien. Recept: [[/integrations/artisan/quickstart/]].
  • nextpdf/gotenberg — Office-naar-PDF- en HTML-naar-PDF-conversie via een Gotenberg-microservice. Gebruik dit wanneer de invoer een Office-document is of wanneer de weergave buiten het proces in een aparte service moet draaien. Het gebruikt HTTP via een door de host geleverde PSR-18-client. Recept: [[/integrations/gotenberg/quickstart/]].
  • nextpdf/cloudflare — serverless-weergave via de Cloudflare Browser Rendering-API. Gebruik dit wanneer de weergave aan de edge moet draaien zonder dat je een lang draaiend browserproces hoeft te beheren. Het gebruikt HTTP via een door de host geleverde PSR-18-client. Recept: [[/integrations/cloudflare/quickstart/]].
  • nextpdf/compat-legacy — een compatibiliteitslaag voor codebases die voor een verouderde PDF-bibliotheek zijn geschreven. Gebruik dit om NextPDF vanuit bestaande code aan te roepen voordat je de aanroeplocaties herschrijft. Het is een migratiehulpmiddel, geen permanente afhankelijkheid. Recept: [[/integrations/compat-legacy/quickstart/]].
  • nextpdf/backport-builder — een op Rector gebaseerde downgradepijplijn die een PHP 8.1-build (en 7.4-target) van NextPDF produceert. Gebruik dit wanneer een runtime niet naar PHP 8.4 kan overgaan en je de engine daar toch nodig hebt. Het is buildinfrastructuur, geen runtime-afhankelijkheid van een applicatie. Recept: [[/integrations/backport/quickstart/]].
  • nextpdf/server (NextPDF Connect) — stelt NextPDF beschikbaar via een REST-API, een gRPC-service en het Model Context Protocol. Gebruik dit wanneer aanroepers extern zijn, een andere taal gebruiken of AI-systemen zijn die een tool-endpoint nodig hebben in plaats van een PHP-bibliotheek. Recept: [[/integrations/connect/quickstart/]].

Elke [[…]]-placeholder hierboven is een vooruitverwijzing naar een pagina die onder docs/public/ in de repository van de integratie is geschreven en door de aggregator naar deze site wordt binnengehaald. De doelslugs volgen één conventie:

/integrations/<integration>/<recipe>/

Het <integration>-token is de korte naam die rechtstreeks is overgenomen uit de bovenstaande referentietabel voor pakket en coreconstraint. Elke rij in die tabel levert één korte naam. Het eerste recept dat elke integratie levert, heet quickstart; latere recepten gebruiken extra <recipe>-segmenten onder dezelfde <integration>-root. Totdat een doelpagina wordt samengevoegd, is de bijbehorende link een placeholder en wordt deze niet omgezet. Deze index doet geen enkele uitspraak over het gedrag van doelpagina’s. De index legt alleen de pakketfeiten vast die uit composer.json zijn geverifieerd en de slug waaronder de recepten van elke repository terechtkomen.