happytails.ai

Rearrange PDF Pages

Open Rearrange PDF Pages on Happytails.ai. This view has the same page content and links, with explicit tool capabilities. Read the processing notes before using a tool.

Tool capabilities

{
  "id": "reorder-pages",
  "category": "pdf-tools",
  "built": true,
  "requirements": "Accessible page thumbnails and keyboard ordering; show final order before save.",
  "implementation": {
    "fields": [
      {
        "key": "pages",
        "label": "Pages (blank = all)",
        "value": "",
        "type": "text"
      }
    ],
    "files": true,
    "multiple": false,
    "input": false,
    "accept": ".pdf",
    "note": "Page numbers start at 1. Password-encrypted PDFs must be unlocked first.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Your text",
      "placeholder": "Type or paste your input…",
      "help": "Up to 1,000,000 characters. Review the settings before running.",
      "helpParts": [
        "Up to 1,000,000 characters.",
        "Review the settings before running."
      ],
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "POST /api/v1/tools/reorder-pages/run",
  "api": {
    "id": "reorder-pages",
    "name": "Reorder pages",
    "category": "pdf-tools",
    "description": "Arrange PDF pages in a new order.",
    "notes": "Page numbers start at 1. Password-encrypted PDFs must be unlocked first.",
    "human_path": "/en/pdf-tools/reorder-pages/",
    "method": "POST",
    "endpoint": "/api/v1/tools/reorder-pages/run",
    "schema_url": "/api/v1/tools/reorder-pages",
    "input_schema": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "input": {
          "type": "string",
          "maxLength": 1000000,
          "default": "",
          "description": "Plain text input. File tools use files instead unless otherwise documented."
        },
        "options": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "pages": {
              "type": "string",
              "description": "Pages (blank = all)",
              "default": ""
            }
          }
        },
        "files": {
          "type": "array",
          "maxItems": 1,
          "items": {
            "type": "object",
            "required": [
              "name",
              "base64"
            ],
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 200,
                "description": "Filename only, no path."
              },
              "mime": {
                "type": "string",
                "maxLength": 150
              },
              "bytes": {
                "type": "integer",
                "minimum": 0,
                "description": "Optional decoded byte count; must match content if supplied."
              },
              "base64": {
                "type": "string",
                "contentEncoding": "base64",
                "description": "File bytes as padded base64. Use the tool-specific limits.files_bytes value for the total decoded input size."
              }
            }
          }
        }
      }
    },
    "output_schema": {
      "type": "object",
      "required": [
        "tool",
        "result"
      ],
      "properties": {
        "tool": {
          "type": "string"
        },
        "result": {
          "type": "object",
          "required": [
            "text",
            "files"
          ],
          "properties": {
            "text": {
              "type": [
                "string",
                "null"
              ]
            },
            "data": {
              "description": "Parsed JSON when the textual result is JSON."
            },
            "name": {
              "type": "string"
            },
            "mime": {
              "type": "string"
            },
            "files": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "name",
                  "mime",
                  "bytes",
                  "base64"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "mime": {
                    "type": "string"
                  },
                  "bytes": {
                    "type": "integer"
                  },
                  "base64": {
                    "type": "string",
                    "contentEncoding": "base64"
                  }
                }
              }
            }
          }
        }
      }
    },
    "processing": "Server; same transformation code as browser tools",
    "limits": {
      "request_bytes": 8388608,
      "input_characters": 1000000,
      "files_bytes": 5242880,
      "max_files": 1,
      "timeout_seconds": 12
    }
  },
  "agent_processing": "Server; same transformation code as browser tools",
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}

Page guide

Put your PDF pages in the right order.

How to use Reorder pages
  1. Choose a PDF and inspect its page previews.
  2. Use the arrows, Reverse order, or enter a custom page sequence below.
  3. Create the reordered PDF and download your new copy.

Useful next steps

What to expect

Arrange PDF pages using real page previews and arrow buttons, reverse their order, or enter a sequence such as 3,1,2. Include every page you want to keep; omitted pages are left out. Your original file is unchanged.