Premium gated documentation

Document — Deep Reference

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

Terminal window
composer require nextpdf/premium

Public 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

See also