{
  "title": "PDF to markdown",
  "human_url": "https://happytails.ai/en/pdf-tools/pdf-to-markdown/",
  "agent_url": "https://happytails.ai/agents/en/pdf-tools/pdf-to-markdown/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/pdf-tools/pdf-to-markdown.md",
  "content": "PDF to markdown\nSave extracted PDF text as a Markdown file.\nUseful next steps\nPDF to text\nExtract selectable text from PDF pages.\nMarkdown to HTML\nConvert Markdown into HTML source.\nMarkdown to PDF\nRender defined Markdown dialect with print CSS, fonts and page breaks.\nHow to use PDF to markdown\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\nSave extracted PDF text as a Markdown file. The export contains extracted paragraphs. It does not reconstruct heading levels, tables, or images. Scanned image-only pages need a separate OCR tool.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "PDF to text Extract selectable text from PDF pages.",
      "url": "https://happytails.ai/en/pdf-tools/pdf-to-text/"
    },
    {
      "name": "Markdown to HTML Convert Markdown into HTML source.",
      "url": "https://happytails.ai/en/text-tools/markdown-to-html/"
    },
    {
      "name": "Markdown to PDF Render defined Markdown dialect with print CSS, fonts and page breaks.",
      "url": "https://happytails.ai/en/document-tools/markdown-to-pdf/"
    }
  ],
  "tool": {
    "id": "pdf-to-markdown",
    "category": "pdf-tools",
    "built": true,
    "requirements": "Headings, tables and reading order require fidelity tests; distinguish text extraction from OCR.",
    "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 markdown\n\n- Human page: https://happytails.ai/en/pdf-tools/pdf-to-markdown/\n- Markdown: https://happytails.ai/en/pdf-tools/pdf-to-markdown.md\n- Structured JSON: https://happytails.ai/agents/en/pdf-tools/pdf-to-markdown/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `pdf-to-markdown` |\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\nHeadings, tables and reading order require fidelity tests; distinguish text extraction from OCR.\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-markdown\",\n  \"category\": \"pdf-tools\",\n  \"built\": true,\n  \"requirements\": \"Headings, tables and reading order require fidelity tests; distinguish text extraction from OCR.\",\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\nSave extracted PDF text as a Markdown file.\n\n## Useful next steps\n\n- [PDF to text](https://happytails.ai/en/pdf-tools/pdf-to-text/): Extract selectable text from PDF pages. ([Markdown](https://happytails.ai/en/pdf-tools/pdf-to-text.md))\n\n- [Markdown to HTML](https://happytails.ai/en/text-tools/markdown-to-html/): Convert Markdown into HTML source. ([Markdown](https://happytails.ai/en/text-tools/markdown-to-html.md))\n\n- [Markdown to PDF](https://happytails.ai/en/document-tools/markdown-to-pdf/): Render defined Markdown dialect with print CSS, fonts and page breaks. ([Markdown](https://happytails.ai/en/document-tools/markdown-to-pdf.md))\n\n## How to use PDF to markdown\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\nSave extracted PDF text as a Markdown file. The export contains extracted paragraphs. It does not reconstruct heading levels, tables, or images. Scanned image-only pages need a separate OCR tool.\n"
}