Link Search Menu Expand Document

PDF Split

Related Knowledgebase-Explore Samples

Split PDF into multiple PDF files using page indexes or page ranges.

Available Methods

[POST] /pdf/split (split by page index)

  • url required. URL to the source file. Supports links from Google Drive, Dropbox and from built-in PDF.co files storage. For uploading files via API please check Files Upload section. If you are randomly getting Too Many Requests or Access Denied error for your input url, please try to add cache: to enable built-in url caching. You can also encrypt data for output files and decrypt data input files with user-controlled data encryption (uses strong AES encryption with your own keys). Click here to learn more.
  • httpusername (optional) - http auth user name if required to access source url.
  • httppassword (optional) - http auth password if required to access source url.
  • pages (required) - comma-separated indices of pages (or page ranges) that you want to use. The first page index is always 1. For example, if you have a 7 page document that you want split into 3 separate PDFs but different number of pages it would go like this: 1, 2, 3- or 1, 2, 3-7 which will result in 1 PDF with page one, 1 PDF with page two and one PDF with the rest of the pages. You can also use inverted page numbers adding ‘!’ before the number. E.g. !1 means the very last page, 2-!2 means from the second to the penultimate page, !2- means last two pages. SPECIAL CASES: You also can use a single asterisk * symbol as a page range to split every page and extract every page into a separate new pdf. Parameter must be a String.
  • async optional. Runs processing asynchronously. Returns JobId that you may use with /job/check to check state of the background job (possible states: working, failed, aborted and success). Must be one of: true, false.
  • inline optional. false by default. In async mode makes to return body with the content of the output json (with the links to the output).
  • name optional. name of the output file.
  • expiration (optional). Output link expiration in minutes. Default is 60 (i.e. 60 minutes or 1 hour). After this delay generated output file(s) (if any) will be auto-removed from PDF.co temporary files storage. Max allowed expiration period depends on your current subscription plan. To store permanent input files (e.g. re-usable images, pdf, documents), please use PDF.co built-in Files Storage instead.
  • profiles optional. Must be a String. Use this parameter to set additional configuration for fine tuning and extra options. Explore PDF.co knowledgebase for profile examples.

  • Method: POST
  • URL: /v1/pdf/split

Query parameters

No query parameters accepted.

Body payload

{
    "url": "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-split/sample.pdf",
    "pages": "1-2,3-",
    "inline": true,
    "name": "result.pdf",
    "async": false
}

Example responses

/pdf/split
{
    "urls": [
        "https://pdf-temp-files.s3.amazonaws.com/1e9a7f2c46834160903276716424382b/result_page1-2.pdf",
        "https://pdf-temp-files.s3.amazonaws.com/c976b9f89a2e460786a3d5c0deeeef67/result_page3-4.pdf"
    ],
    "pageCount": 4,
    "error": false,
    "status": 200,
    "name": "result.pdf",
    "remainingCredits": 98441
}

Code Snippet

CURL
curl --location --request POST 'https://api.pdf.co/v1/pdf/split' \
--header 'Content-Type: application/json' \
--header 'x-api-key: ' \
--data-raw '{
    "url": "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-split/sample.pdf",
    "pages": "1-2,3-",
    "inline": true,
    "name": "result.pdf",
    "async": false
}'

Knowledgebase

Samples