pdfminer
PDF parser and analyzer
What it is and what it does
PDFMiner is a pure Python PDF parser and text extraction tool that reads PDF documents and extracts rendered text along with precise layout metadata—font names, sizes, positions, and writing direction. It performs automatic layout analysis to reconstruct document structure and can output results as plain text, HTML, XML, or tagged content. It handles encrypted PDFs (RC4 and AES), multiple font types (Type1, TrueType, Type3, CID), and CJK languages with vertical writing support.
The package provides both a programmatic API for integration into Python applications and command-line tools (pdf2txt.py for extraction, dumppdf.py for debugging). However, it is no longer maintained—the repository was archived in 2022 with the last commit in December of that year, and no updates have been released since November 2019. While it remains functional for basic PDF text extraction tasks, it receives no security updates or bug fixes.
Use it for:
- Extract text and position data from PDF documents for document processing or data mining workflows
- Convert PDFs to HTML or XML for downstream analysis or republishing
- Debug PDF structure and internal content using dumppdf.py for troubleshooting
- Parse encrypted PDFs with password protection to access restricted content
- Analyze document layout and reconstruct reading order from complex multi-column or figure-heavy PDFs
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extracts text and layout information from PDF documents, including font details, positions, and structure, with support for encrypted PDFs and multiple output formats.
No—not recommended for new projects. The package is abandoned (last release 2019-11-25, repository archived 2022), receives no maintenance or security updates, and has high install friction due to source-only distribution. Use pdfminer.six instead, which is actively maintained and provides the same core functionality with ongoing support.
Install
pdfminer on PyPI
pip
pip install pdfmineruv
uv add pdfminerpoetry
poetry add pdfminerInstalling pdfminer
Before you install
High install friction due to source-only distribution (pdfminer-20191125.tar.gz). The project is archived and abandoned as of 2022-12-07, with no maintenance since version 20191125 released 2019-11-25. Consider pdfminer.six if ongoing support is needed.
License in practice
MIT license permits commercial and private use with minimal restrictions, requiring only attribution and inclusion of the license text.
Quickstart
pip install pdfminer
python -m pdfminer.six samples/simple1.pdf
# or via command line:
pdf2txt.py samples/simple1.pdf
Requires Python 3.6 or above; Python 2 is not supported. Source distribution requires build tools to compile.
Verify before relying
- Whether the archived repository still accepts security patches or community contributions
- Current compatibility with modern PDF specifications beyond PDF-1.7
- Performance characteristics on large or complex PDF files
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,454 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 229,484/month — #9,131 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pdfminer-20191125.tar.gz
Keywords: pdf parser, pdf converter, layout analysis, text mining
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
pdfminer.sixExtracts text, images, and layout information…
permissive · top 1,000 on PyPI
playa-pdfPlaya-pdf reads PDF files and exposes their…
permissive · top 15,000 on PyPI
unPDFExtracts individual characters and metadata…
permissive · top 15,000 on PyPI
pdftextExtracts plain text or structured blocks,…
permissive · top 15,000 on PyPI
textractExtracts text from documents in multiple…
permissive · top 15,000 on PyPI
pdfplumberExtract detailed information about text…
permissive · top 1,000 on PyPI
pdftotextExtracts text from PDF files, including…
permissive · top 15,000 on PyPI
pymupdfPyMuPDF extracts, renders, converts, and…
agpl · top 1,000 on PyPI
pymupdf-layoutPyMuPDF Layout analyzes PDF structure and…
agpl · top 1,000 on PyPI
drafthorseGenerates and parses ZUGFeRD XML invoice…
permissive · top 15,000 on PyPI