Rotate PDF Pages

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

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.

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--