skillfed

pdfplumber

Plumb a PDF for detailed information about each char, rectangle, and line.

pdfplumber Permissive license Active 10,656 v0.11.10 released

Install

pdfplumber on PyPI

pip

pip install pdfplumber

uv

uv add pdfplumber

poetry

poetry add pdfplumber

Package 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

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

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
pdf text extractionpdf table extractionpdf parsing libraryextract pdf characterspdf data miningpdf layout analysismachine-generated pdf processing

Similar packages