Split PDF
Split a PDF into individual pages or page ranges.
🔐 Files are processed on the server and deleted immediately after - nothing is stored.
How Split PDF works
How does splitting a PDF into pieces work under the hood?
The tool first opens the upload with FPDI just to read the page count via setSourceFile(), then for each requested output - either every single page or the custom page ranges you type in - it builds a brand-new TCPDF/FPDI document, imports just those pages with importPage()/useTemplate(), and saves it as its own PDF file. All of the resulting PDFs are then added to a ZipArchive for one download.
When is this useful?
Useful when you have received one large scanned PDF - say a signed contract bundle - and need to hand out just a few pages to someone, or when you want to break a multi-chapter document into one file per chapter using ranges like "1-3,4,5-8".
What happens to all the intermediate files it creates?
Every per-range PDF is written to the temp folder so it can be added to the zip, and right after the archive is closed the code calls cleanup_temp_files() to delete each of those part files - only the final zip is kept, and that gets deleted right after it streams to your browser. The source upload is capped at 20MB by validate_uploaded_pdf().