Remove Pages from PDFs

Document Engine lets you delete pages of a document by sending a multipart request to the /api/build endpoint and attaching the input file(s) and the instructions JSON.

This guide will present some examples of removing pages from PDFs.

For more information, refer to the API reference to learn about the /api/build endpoint and all the actions you can perform on PDFs with Document Engine.

For an overview of multipart requests, refer to the brief tour of multipart requests blog post.

Removing Pages of a File on Disk

To remove the first and sixth page of a PDF document, send a request with the following to the /api/build endpoint:

curl -X POST http://localhost:5000/api/build \
  -H "Authorization: Token token=<API token>" \
  -F document=@/path/to/example-document.pdf \
  -F instructions='{
  "parts": [
    {
      "file": "document",
      "pages": {
        "start": 1,
        "end": 4
      }
    },
    {
      "file": "document",
      "pages": {
        "start": 6,
        "end": 7
      }
    }
  ]
}' \
  -o result.pdf
POST /api/build HTTP/1.1
Content-Type: multipart/form-data; boundary=customboundary
Authorization: Token token=<API token>

--customboundary
Content-Disposition: form-data; name="document"; filename="example-document.pdf"
Content-Type: application/pdf

<PDF data>
--customboundary
Content-Disposition: form-data; name="instructions"
Content-Type: application/json

{
  "parts": [
    {
      "file": "document",
      "pages": {
        "start": 1,
        "end": 4
      }
    },
    {
      "file": "document",
      "pages": {
        "start": 6,
        "end": 7
      }
    }
  ]
}
--customboundary--

Removing Pages of a File from a URL

In addition to the path to the file, the multipart request also accepts input documents using a URL:

curl -X POST http://localhost:5000/api/build \
  -H "Authorization: Token token=<API token>" \
  -F instructions='{
  "parts": [
    {
      "file": {
        "url": "http://pspdfkit.com/guides/processor/files/8-page-example-document.pdf"
      },
      "pages": {
        "start": 1,
        "end": 4
      }
    },
    {
      "file": "document",
      "pages": {
        "start": 6,
        "end": 7
      }
    }
  ]
}' \
  -o result.pdf
POST /api/build HTTP/1.1
Content-Type: multipart/form-data; boundary=customboundary
Authorization: Token token=<API token>

--customboundary
Content-Disposition: form-data; name="instructions"
Content-Type: application/json

{
  "parts": [
    {
      "file": {
        "url": "http://pspdfkit.com/guides/processor/files/8-page-example-document.pdf"
      },
      "pages": {
        "start": 1,
        "end": 4
      }
    },
    {
      "file": "document",
      "pages": {
        "start": 6,
        "end": 7
      }
    }
  ]
}
--customboundary--