Happytails.aiFree tools. No account needed.

PDF header footer | agent view

The same page content and links, with explicit tool capabilities. Tools marked with an API can run directly through HTTP. Other tools require the browser interface or are not connected yet.

Tool capabilities

{
  "id": "pdf-header-footer",
  "category": "pdf-tools",
  "built": true,
  "requirements": "Support {page} and {pages}; selectable text; printable basic Latin; warn about existing content in page margins.",
  "implementation": {
    "fields": [
      {
        "key": "header",
        "label": "Header text",
        "value": "",
        "type": "text"
      },
      {
        "key": "footer",
        "label": "Footer text",
        "value": "Page {page} of {pages}",
        "type": "text"
      }
    ],
    "files": true,
    "input": false,
    "multiple": false,
    "accept": ".pdf",
    "note": "Runs on your device. Up to 100 pages per input. Labels may overlap existing content in the top or bottom margin. Supports unrotated pages and basic Latin text.",
    "experience": {
      "automatic": false,
      "single": false,
      "label": "Your text",
      "placeholder": "Type or paste your input…",
      "help": "Up to 1,000,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "POST /api/v1/tools/pdf-header-footer/run",
  "api": {
    "id": "pdf-header-footer",
    "name": "PDF header footer",
    "category": "pdf-tools",
    "description": "Add a header and footer to every PDF page.",
    "notes": "Runs on your device. Up to 100 pages per input. Labels may overlap existing content in the top or bottom margin. Supports unrotated pages and basic Latin text.",
    "human_path": "/en/pdf-tools/pdf-header-footer/",
    "method": "POST",
    "endpoint": "/api/v1/tools/pdf-header-footer/run",
    "schema_url": "/api/v1/tools/pdf-header-footer",
    "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": {
            "header": {
              "type": "string",
              "description": "Header text",
              "default": ""
            },
            "footer": {
              "type": "string",
              "description": "Footer text",
              "default": "Page {page} of {pages}"
            }
          }
        },
        "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

Add a header and footer to every PDF page.

Useful next steps

How to use PDF header footer

  1. Choose a supported file using the drop area or file picker.
  2. Review the clearly labeled settings. Choose the action button to process your file.
  3. Compare the result with your original, then download it. Keep the original for further edits.

What to expect

Add a header and footer to every PDF page. Support {page} and {pages}; selectable text; printable basic Latin; warn about existing content in page margins.