Splitting by page ranges & page-model basics
This guide uses an injectable page model, not real PDF bytes. Each page has an id, width, height and an optional rotation (a multiple of 90). Paste the model into the document field of the workspace (reach /app/ from the docs page).
Example (5 pages): {"id":"five","pages":[{"id":"p1","width":842,"height":595},{"id":"p2","width":595,"height":842},{"id":"p3","width":842,"height":595},{"id":"p4","width":595,"height":842},{"id":"p5","width":842,"height":595}]}.
Enter 1-2,5 in ranges: the result has 3 pages in the order p1, p2, p5, and plan.pageNumbers is [1,2,5]. Inputs 0, 6, 5-3 or 2,1 produce PAGE_ZERO, PAGE_OUT_OF_BOUNDS, REVERSED_RANGE and OUT_OF_ORDER_RANGES respectively; your input is preserved for editing.
The result is a JSON plan (not a PDF file) named like pdf-split-20261115090000.json. It downloads only after you click Download; cancelling never triggers an automatic download.