jsvine/pdfplumber

Plumb a PDF for detailed information about each char, rectangle, line, et cetera — and easily extract text and tables.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 21 minutes ago
Added to GitGenius on September 5th, 2026
Created on August 24th, 2015
Open Issues & Pull Requests: 101 (+0)
GitHub issues: Enabled
Number of forks: 917
Total Stargazers: 10,721 (+0)
Total Subscribers: 107 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 33.3 hours
Mean response time: 13.3 days
90th percentile: 37.8 days
Tracked items: 68

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 93% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed. Three people close 74% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 43
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 692 days
Stale 30+ days: 40
Stale 90+ days: 34

Recent activity

Opened in 7 days: 2
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 1

Top labels

  • bug (55)
  • feature-request (25)
  • troubleshooting (4)
  • awaiting-code-or-pdf (3)
  • enhancement (2)
  • help wanted (1)

Detailed Description

pdfplumber is a Python library for extracting detailed information from PDFs, including text, tables, and geometric objects like rectangles and lines.

The tool addresses the challenge of programmatically accessing structured data within PDF documents. It works by parsing machine-generated PDFs to expose low-level details about each character, line, rectangle, curve, image, and annotation, along with their precise coordinates and properties. Built on pdfminer.six, it provides both a command-line interface for batch extraction and a Python API for programmatic access. The library includes specialized functionality for table extraction and visual debugging capabilities to help users understand PDF structure.

pdfplumber suits projects that need to automate data extraction from PDFs where the document structure is consistent and machine-generated. It works best on PDFs created digitally rather than scanned images. The tool offers multiple output formats through its command-line interface, including CSV and JSON for object-level data, as well as plain-text extraction with layout preservation. Users can selectively extract specific object types, specify page ranges, and configure layout analysis parameters to tune extraction behavior for different PDF styles. Password-protected PDFs are supported, and Unicode normalization options are available for handling text encoding variations.

The project maintains active engagement with its user community through a dedicated discussions forum for questions and assistance with specific PDFs, alongside a structured issue tracker for bug reports and feature requests. Development activity shows consistent attention to compatibility across multiple Python versions. The codebase includes a comprehensive test suite covering the supported Python versions.