pdfplumber
Plumb a PDF for detailed information about each char, rectangle, and line.
Install
pdfplumber on PyPI
pip
pip install pdfplumberuv
uv add pdfplumberpoetry
poetry add pdfplumberPackage facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — pdfminer.six, Pillow, pypdfium2 |
| Maintenance | actively maintained — 59 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: pdfplumber-0.11.10-py3-none-any.whl
About pdfplumber
from the package's own PyPI description — quoted content, verbatim
pdfplumber
Version (image) Tests (image) Code coverage (image) Support Python versions (image)
Plumb a PDF for detailed information about each text character, rectangle, and line. Plus: Table extraction and visual debugging.
Works best on machine-generated, rather than scanned, PDFs. Built on pdfminer.six.
Currently tested on Python 3.10, 3.11, 3.12, 3.13, 3.14.
Translations of this document are available in: Chinese (by @hbh112233abc).
To report a bug or request a feature, please file an issue. To ask a question or request assistance with a specific PDF, please [use the discussions...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
pdfplumber extracts and analyzes detailed information from PDFs—text characters, rectangles, lines, and tables—with built-in visual debugging. It works best on machine-generated PDFs and is built on pdfminer.six.
Low install friction with three runtime dependencies (pdfminer.six, Pillow, pypdfium2) distributed as a pure-Python wheel. Actively maintained with recent releases and strong community engagement.
Licensed under MIT (permissive), allowing broad use including commercial applications with minimal restrictions.
Usage
pip install pdfplumber
import pdfplumber
with pdfplumber.open("path/to/file.pdf") as pdf:
first_page = pdf.pages[0]
print(first_page.chars[0])
Requires Python 3.8 or later; works best on machine-generated rather than scanned PDFs.
Verdict: pdfplumber is a mature, actively maintained library for extracting structured data from PDFs. Low install friction, permissive MIT license, and support for Python 3.10–3.14 make it suitable for production use. No known vulnerabilities and recent releases indicate ongoing support.
Needs verification
- Performance characteristics and memory usage on large PDFs
- Accuracy rates for table extraction across different PDF formats and layouts
- Specific limitations or known issues with particular PDF producers or encodings
Similar packages
permissive · top 1,000 on PyPI
pymupdfagpl · top 1,000 on PyPI
PyPDF2permissive · top 1,000 on PyPI
pymupdf4llmagpl · top 1,000 on PyPI
pypdfpermissive · top 1,000 on PyPI
datasetspermissive · top 1,000 on PyPI
nvidia-nvtxunclear · top 1,000 on PyPI
nvidia-nvtx-cu12permissive · top 1,000 on PyPI
pymupdf-layoutagpl · top 1,000 on PyPI
pytesseractpermissive · top 1,000 on PyPI