Distribution
Plain PHP → core. Framework app → the matching integration. Network boundary → the server. Python client → the Python SDK.
NextPDF gives you several entry points. The right choice depends on where your code runs and what kind of Portable Document Format (PDF) output you need. Use this page to make three choices: which distribution to install, which Hypertext Markup Language (HTML) renderer to use, and when a workload needs Pro or Enterprise.
Read the section that matches your question, or skim the decision summary at the end.
Start with how your application calls the engine. Use the first row that matches your situation.
| Your situation | Install | Why |
|---|---|---|
| A plain PHP project, a library, or a command-line interface (CLI) tool | NextPDF core (nextpdf/core) | The engine only. It makes no framework assumptions and does not run a service. |
| A Laravel, Symfony, or CodeIgniter application | The matching framework integration | You get container bindings, response helpers, and queue jobs on top of core. |
| A non-PHP service, an agent, or another runtime that must call the engine over a network | NextPDF Server (nextpdf/server) | A single service exposes the engine over Model Context Protocol (MCP), REST, and gRPC. |
| Python code that needs PDF files from a NextPDF Server | The Python Software Development Kit (SDK) (pip install nextpdf) | A typed client for a running server. It does not embed the engine. |
Two points are easy to miss:
nextpdf/core for you.NextPDF can render HTML to PDF in four ways. The built-in pipeline covers most documents without extra setup. Use the three renderer packages when you need browser-grade layout or need to connect to an existing service.
| Renderer | Package | Where it runs | Choose it when |
|---|---|---|---|
Built-in writeHtml() | nextpdf/core | In-process, pure PHP | You want a supported HTML and Cascading Style Sheets (CSS) subset with no browser and no network call. |
| Artisan | nextpdf/artisan | Headless Chrome on the host | You need full Chrome layout — flexbox, grid, complex selectors, web fonts — with selectable text. |
| Cloudflare | nextpdf/cloudflare | Cloudflare Browser Rendering at the edge | Rendering belongs at the edge, or you want to keep browser processes off your own hosts. |
| Gotenberg | nextpdf/gotenberg | A Gotenberg service you operate | You convert office documents (DOCX, XLSX) or HTML through an existing Gotenberg deployment. |
How to read the table:
The core engine generates, renders, and inspects PDFs at no cost and with no
license. NextPDF Pro and NextPDF Enterprise are the two licensed tiers of the
nextpdf/premium package. Installing it adds capabilities without changing
the core API.
| You need to | Tier | Capability |
|---|---|---|
| Digitally sign a PDF with a PDF Advanced Electronic Signatures (PAdES) baseline | Pro | Software-key signing implementations. |
| Produce archival PDF/A output | Pro | PDF/A conformance and archival profiles. |
| Embed an electronic invoice (Factur-X / ZUGFeRD) | Pro | E-invoice contract implementations. |
| Sign with a hardware security module (HSM) | Enterprise | Hardware-backed key operations. |
| Issue qualified electronic signatures | Enterprise | Qualified-signature workflow and the full compliance surface. |
Two rules keep the decision honest:
nextpdf/premium, the framework integrations and the
server detect it automatically. They expose the extra capabilities
through the same container keys and tool catalog. Your application does not
need code changes to adopt it.Distribution
Plain PHP → core. Framework app → the matching integration. Network boundary → the server. Python client → the Python SDK.
HTML renderer
Supported subset, no dependency → writeHtml(). Browser
fidelity on your hosts → Artisan. At the edge →
Cloudflare. Office conversion → Gotenberg.
Licensed tier
Unsigned PDFs → core. Signing, PDF/A, e-invoice → Pro. HSM or qualified signatures → Enterprise.
Still unsure?
Install core, run Your first PDF, and add a package only when a concrete need appears. You can change any of this later.