Rotate PDF Pages

To rotate pages of a document, use Document Engine’s /api/build endpoint.

Before you get started, make sure Document Engine is up and running.

You’ll be sending multipart POST requests with instructions to Document Engine’s /api/build endpoint. To learn more about multipart requests, refer to our blog post on the topic, A Brief Tour of Multipart Requests.

Check out the API Reference to learn more about the /api/build endpoint and all the actions you can perform on PDFs with Document Engine.

Rotating Pages of a File on Disk

Send a multipart request to the /api/build endpoint, attaching input files and the instructions JSON:

The example below rotates the first two pages of an eight-page document 90 degrees clockwise. After rotating the first two pages, the result is merged with the remaining six pages of the document to get the final output PDF.

curl -X POST http://localhost:5000/api/build \
  -H "Authorization: Token token=<API token>" \
  -F document=@/path/to/document.pdf \
  -F instructions='{
  "parts": [
    {
      "file": "document",
      "pages": {
        "start": 0,
        "end": 1
      },
      "actions": [
        {
          "type": "rotate",
          "rotateBy": 90
        }
      ]
    },
    {
      "file": "document",
      "pages": {
        "start": 2,
        "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="document.pdf"
Content-Type: application/pdf

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

{
  "parts": [
    {
      "file": "document",
      "pages": {
        "start": 0,
        "end": 1
      },
      "actions": [
        {
          "type": "rotate",
          "rotateBy": 90
        }
      ]
    },
    {
      "file": "document",
      "pages": {
        "start": 2,
        "end": 7
      }
    }
  ]
}
--customboundary--

Rotating Pages of a File from a URL

Send a multipart request to the /api/build endpoint, attaching a URL pointing to an input file and the instructions JSON.

The following example rotates all the pages of the document at the URL 90 degrees clockwise:

curl -X POST http://localhost:5000/api/build \
  -H "Authorization: Token token=<API token>" \
  -F instructions='{
  "parts": [
    {
      "file": {
        "url": "https://pspdfkit.com/downloads/examples/paper.pdf"
      },
      "actions": [
        {
          "type": "rotate",
          "rotateBy": 90
        }
      ]
    }
  ]
}' \
  -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": "https://pspdfkit.com/downloads/examples/paper.pdf"
      },
      "actions": [
        {
          "type": "rotate",
          "rotateBy": 90
        }
      ]
    }
  ]
}
--customboundary--