Document — Deep Reference (Gated)
Gated content notice. This page is part of the gated reference surface. Distribution restricted by NDA. Do not mirror to public channels.
At a glance
This page documents the splitter and Portfolio limits, failure modes, and output characteristics beyond the public landing page.
Edition gate
Requires NextPDF Pro, installed via composer require nextpdf/premium. Get a license.
License feature flag
No per-feature license flag. The Pro edition gates the code.
Behavior contract
PdfSplitter::split validates that input begins with the PDF header, enforces an input-size ceiling and a range-count ceiling, detects pages by scanning for page objects, and wraps the selected pages in a minimal catalog and page tree with a re-pointed parent reference. splitEvery derives ranges from a page-per-segment count and rejects counts below 1. extractPages returns a single range as standalone bytes. A range matching no pages yields a minimal one-page segment rather than an error. The generated cross-reference layout is lightweight: segments open as standalone PDFs, but byte offsets are not exact, so the splitter is unsuitable for signature-grade output.
PdfPortfolio validates the view mode (tile, detail, hidden) at construction. addSchema and addEntry are fluent. generateCollectionDictionary emits a Collection dictionary with a view token, a schema block, and a sort directive on the first schema field ascending. Field names are sanitized to valid PDF name tokens; string values are escaped for PDF literal strings.
Public API surface
composer require nextpdf/premiumPublic types: PdfSplitter, SplitResult, PdfPortfolio, PortfolioEntry, PortfolioField, PortfolioFieldType, and the Core PageRange value object used for ranges.
Conformance
The Portfolio dictionary follows the PDF Collections model and the splitter follows the page-object model defined by ISO 32000-2; the source annotates the relevant clauses. The RAG corpus was unavailable at authoring time, so this page asserts no additional external clause identifiers.
Edge cases & FIPS-mode behavior
- Default ceilings: 100 MB input, 1000 ranges. Both are caller-tunable downward; exceeding either raises an argument error.
- For signature-grade segment output, write with the Writer module rather than relying on the splitter’s lightweight cross-reference layout.
- This module performs no cryptographic operations and defines no FIPS-specific behavior.