pdfplumber: Extract text and tables from PDFs
Python library for extracting PDF text and tables.
Learn more about pdfplumber
pdfplumber is a Python library built on pdfminer.six that parses PDF documents to extract structured information about their contents. It works by analyzing the low-level objects within a PDF, including individual characters, rectangles, lines, and curves, then exposes this data through a Python API. The library includes specialized algorithms for table detection and extraction, as well as text extraction with layout preservation. It is designed for machine-generated PDFs rather than scanned documents, and supports password-protected files and customizable layout analysis parameters.
Granular Object Access
Exposes detailed properties of individual text characters, rectangles, and lines with precise coordinates and styling. Enables custom analysis of document structure beyond basic text extraction, useful for complex layout parsing.
Built-in Table Detection
Includes algorithms that automatically detect and extract tabular data without manual cell coordinate specification. Handles merged cells, implicit borders, and varied table layouts that other libraries require preprocessing to parse.
Visual Debugging Tools
Renders detected objects directly onto PDF pages for inspection during development. Displays character bounding boxes, table boundaries, and extracted regions visually, reducing guesswork when tuning extraction parameters.
import pdfplumber
with pdfplumber.open("document.pdf") as pdf:
first_page = pdf.pages[0]
text = first_page.extract_text()
print(text)This release upgrades pdfminer.six from 20251107 to 20251230.
- –Upgrade pdfminer.six from 20251107 to 20251230
This release upgrades pdfminer.six from 20250506 to 20251107.
- –Upgrade pdfminer.six from 20250506 to 20251107
This release adds access to additional PDF page boxes and upgrades pdfminer.six dependency.
- –Add access to Page.trimbox, Page.bleedbox, and Page.artbox
- –Upgrade pdfminer.six from 20250327 to 20250506
- –Remove strokingpattern and nonstroking_pattern object attributes, due to changes in pdfminer.six
See how people are using pdfplumber
Top in Data Engineering
Related Repositories
Discover similar tools and frameworks used by developers
COVID-19 Data
Archived NYT dataset of coronavirus cases and deaths across U.S. counties and states (2020-2023).
dbt
SQL-based transformation framework for analytics data warehouses.
pandas
Labeled data structures for tabular data analysis.
Patroni
Automates PostgreSQL failover using distributed consensus systems.
ClickHouse
Column-oriented database for real-time analytics with SQL support and distributed computing capabilities.
Related Reading
Guides and comparisons from the Greptile content library
Best Developer Productivity Tools in 2026
The best developer productivity tools in 2026, compared by the workflow problem they solve: code review, autocomplete, AI-native editing, terminal agents, code search, observability, and security.
Best AI Code Review Tools for GitHub
Top-rated AI code review tools for GitHub teams in 2025. Compare features, pricing, and accuracy to find the perfect fit for faster PR reviews and bulletproof code quality.
Best AI Code Review Tools for GitLab
Enterprise-grade AI code review tools for GitLab teams. In-depth comparison of accuracy, security, and integration features to accelerate your merge request workflows.
Best CodeRabbit Alternatives for Smarter AI Code Reviews in 2026
7 powerful CodeRabbit alternatives ranked by real dev teams. Feature comparison, pricing analysis, and honest reviews to find your perfect AI code reviewer.