Skip to main content

PDF to Markdown engine for LLMs. Smart table extraction, OCR, MCP server.

Project description

thinkpdf

Extract text, tables, and structure from PDFs. Built for RAG pipelines, AI training, and LLM context.

Read directly into memory or save as Markdown. Supports OCR.

Install

Get it from the Snap Store

pip install thinkpdf        # Python (PyPI)
npx thinkpdf                 # npm (run directly)
brew install thinkpdf        # macOS (Homebrew)
choco install thinkpdf       # Windows (Chocolatey)
snap install thinkpdf        # Linux (Snap Store)
conda install -c conda-forge thinkpdf  # Anaconda (pending)

For better table extraction (but slower):

pip install thinkpdf[docling]

Quick Start

thinkpdf document.pdf                # outputs document.md
thinkpdf document.pdf -o output.md   # custom output
thinkpdf folder/ --batch             # convert all PDFs
from thinkpdf import convert
convert("document.pdf")  # returns markdown

GUI

pip install thinkpdf[gui]
thinkpdf-gui

MCP Server

Add to your MCP config:

{
  "mcpServers": {
    "thinkpdf": {
      "command": "python",
      "args": ["-m", "thinkpdf.mcp_server"]
    }
  }
}
Tool Description
read_pdf Read PDF content into context
convert_pdf Convert and save to file
get_document_info Get PDF metadata

License

AGPL-3.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thinkpdf-1.0.5.tar.gz (57.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thinkpdf-1.0.5-py3-none-any.whl (59.0 kB view details)

Uploaded Python 3

File details

Details for the file thinkpdf-1.0.5.tar.gz.

File metadata

  • Download URL: thinkpdf-1.0.5.tar.gz
  • Upload date:
  • Size: 57.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for thinkpdf-1.0.5.tar.gz
Algorithm Hash digest
SHA256 6db7ed075f214f3c11e3d64be0d4f5fcf0a3e2623026dabe8500e70aa0ab2fe9
MD5 a3f5e217076090de62756a3b36c62c71
BLAKE2b-256 ff57c7931becfc6effc739bd18e270285ee296cc58aec3243b44f87d20fa42fc

See more details on using hashes here.

File details

Details for the file thinkpdf-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: thinkpdf-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 59.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for thinkpdf-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2ae3327984d51d8c0b4c3beab6a308879862e4da35dd8af8063b1969715bab40
MD5 331c853b8ecac63245bd78ce56bb49b9
BLAKE2b-256 7e7e91c3a4053a657e7383fe516131889105118400f94823b76820b80d1060f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page