happytails.ai

Extract Pages from PDF

Open Extract Pages from PDF 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": "extract-pages",
  "category": "pdf-tools",
  "built": true,
  "requirements": "Export a selected page subset to one PDF; clearly separate from multiple-file splitting.",
  "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/extract-pages/run",
  "api": {
    "id": "extract-pages",
    "name": "Extract pages",
    "category": "pdf-tools",
    "description": "Create a PDF containing the pages you select.",
    "notes": "Page numbers start at 1. Password-encrypted PDFs must be unlocked first.",
    "human_path": "/en/pdf-tools/extract-pages/",
    "method": "POST",
    "endpoint": "/api/v1/tools/extract-pages/run",
    "schema_url": "/api/v1/tools/extract-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

Keep the PDF pages you need in one new document.

How to use Extract pages
  1. Choose a PDF and select the pages you want to keep.
  2. Use page previews or enter page numbers and ranges below.
  3. Extract your selection and download one PDF. Your source file stays unchanged.

Useful next steps

What to expect

Create a PDF containing the pages you select. Enter page numbers or ranges such as 1,3-5. Pages are copied in the order you enter. Your original file is unchanged.