happytails.ai

PDF Header & Footer

Open PDF Header & Footer 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": "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,
      "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/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.

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.

Useful next steps

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.