Why NextPDF
One request. One explicit path
NextPDF Core runs inside your PHP 8.4 process. One engine produces PDF 2.0 output and applies the edition capabilities you call.
The design rule
An engine that refuses to guess
Unsupported image and font operations raise typed domain exceptions. They extend NextPdfException, so you choose a narrow catch or the engine boundary.
use NextPDF\Exception\NextPdfException;
use NextPDF\Exception\ImageProcessingException;
try {
$doc->image('/path/to/photo.jpg');
} catch (ImageProcessingException $e) {
// Choose a deliberate image fallback.
} catch (NextPdfException $e) {
// Handle the remaining typed engine errors.
}Architecture
In-process. One engine
NextPDF’s native engine renders inside the PHP process. Generation, signing, tagging, and archival operations use the same engine and application lifecycle.
Named long-running worker targets include Octane, FrankenPHP, and RoadRunner. Cloudflare and Gotenberg integrations follow their documented external rendering paths.
Output
Targets, scope, evidence
Each item names its output target. Formal conformance remains the verdict of an external validator. Published samples and validator paths let you inspect the result.
ISO 32000-2
Native PDF 2.0 generation built around the ISO 32000-2 object model.
PDF/UA-2
Tagged structure targets PDF/UA-2. Document semantics remain part of the input.
PAdES
Baseline levels PAdES B-B/B-T/B-LT/B-LTA are available by edition.
PDF/A-4
Enterprise output targets PDF/A-4 through its archival structures.
RFC 3161
NextPDF Pro uses RFC 3161 TSA tokens for trusted timestamps.
ICC v4 colour
NextPDF Core includes ICC v4 colour management and halftone controls.
Engineering
Inspect the engineering surface
- Level 10
- PHPStan analysis across the engine.
- PDF 2.0
- Native object model for generated documents.
- PHP 8.4
- Native runtime target for the 8.x line.
- Apache-2.0
- Licence for NextPDF Core and NextPDF Connect.
Start with the engine
Install NextPDF Core, render a PDF, and inspect the result. Compare editions when your workflow needs additional capabilities.