{
  "title": "PDF to text",
  "human_url": "https://happytails.ai/en/pdf-tools/pdf-to-text/",
  "agent_url": "https://happytails.ai/agents/en/pdf-tools/pdf-to-text/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/pdf-tools/pdf-to-text.md",
  "content": "PDF to text\nExtract selectable text from PDF pages.\nUseful next steps\nPDF to markdown\nSave extracted PDF text as a Markdown file.\nWord counter\nCount words, characters and lines as you type.\nCompare text\nCompare two versions of text, line by line.\nHow to use PDF to text\nChoose a file in PDF.\nReview the settings, then choose Convert file.\nReview the result, then use Copy result or a download link when available.\nWhat to expect\nExtract selectable text from PDF pages. Choose the pages to read. Scanned image-only pages need OCR, which this tool does not perform. Review reading order in documents with columns or complex layouts.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "PDF to markdown Save extracted PDF text as a Markdown file.",
      "url": "https://happytails.ai/en/pdf-tools/pdf-to-markdown/"
    },
    {
      "name": "Word counter Count words, characters and lines as you type.",
      "url": "https://happytails.ai/en/text-tools/word-counter/"
    },
    {
      "name": "Compare text Compare two versions of text, line by line.",
      "url": "https://happytails.ai/en/text-tools/compare-text/"
    }
  ],
  "tool": {
    "id": "pdf-to-text",
    "category": "pdf-tools",
    "built": true,
    "requirements": "Text PDFs only initially; preserve reading order as best effort; detect scanned-only pages.",
    "implementation": {
      "fields": [
        {
          "key": "pages",
          "label": "Pages (blank = all)",
          "value": "",
          "type": "text"
        }
      ],
      "files": true,
      "input": false,
      "accept": ".pdf",
      "note": "Text extraction requires selectable text; scanned pages need OCR. Markdown export contains extracted paragraphs, not reconstructed tables or heading semantics.",
      "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": "Convert file"
      },
      "mode": "explicit",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "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"
    }
  },
  "markdown": "# PDF to text\n\n- Human page: https://happytails.ai/en/pdf-tools/pdf-to-text/\n- Markdown: https://happytails.ai/en/pdf-tools/pdf-to-text.md\n- Structured JSON: https://happytails.ai/agents/en/pdf-tools/pdf-to-text/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `pdf-to-text` |\n| Category | pdf-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Use the visible action or interactive controls. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nText extraction requires selectable text; scanned pages need OCR. Markdown export contains extracted paragraphs, not reconstructed tables or heading semantics.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\nAccepted browser files: `.pdf`. Choose one file.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `pages` | Pages (blank = all) | text | \"\" |  |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nText PDFs only initially; preserve reading order as best effort; detect scanned-only pages.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"pdf-to-text\",\n  \"category\": \"pdf-tools\",\n  \"built\": true,\n  \"requirements\": \"Text PDFs only initially; preserve reading order as best effort; detect scanned-only pages.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"pages\",\n        \"label\": \"Pages (blank = all)\",\n        \"value\": \"\",\n        \"type\": \"text\"\n      }\n    ],\n    \"files\": true,\n    \"input\": false,\n    \"accept\": \".pdf\",\n    \"note\": \"Text extraction requires selectable text; scanned pages need OCR. Markdown export contains extracted paragraphs, not reconstructed tables or heading semantics.\",\n    \"experience\": {\n      \"automatic\": false,\n      \"single\": false,\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Up to 1,000,000 characters. Review the settings before running.\",\n      \"action\": \"Convert file\"\n    },\n    \"mode\": \"explicit\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nExtract selectable text from PDF pages.\n\n## Useful next steps\n\n- [PDF to markdown](https://happytails.ai/en/pdf-tools/pdf-to-markdown/): Save extracted PDF text as a Markdown file. ([Markdown](https://happytails.ai/en/pdf-tools/pdf-to-markdown.md))\n\n- [Word counter](https://happytails.ai/en/text-tools/word-counter/): Count words, characters and lines as you type. ([Markdown](https://happytails.ai/en/text-tools/word-counter.md))\n\n- [Compare text](https://happytails.ai/en/text-tools/compare-text/): Compare two versions of text, line by line. ([Markdown](https://happytails.ai/en/text-tools/compare-text.md))\n\n## How to use PDF to text\n\n1. Choose a file in PDF.\n2. Review the settings, then choose Convert file.\n3. Review the result, then use Copy result or a download link when available.\n\n## What to expect\n\nExtract selectable text from PDF pages. Choose the pages to read. Scanned image-only pages need OCR, which this tool does not perform. Review reading order in documents with columns or complex layouts.\n"
}