MCPcopy Index your code
hub / github.com/pdfminer/pdfminer.six

github.com/pdfminer/pdfminer.six @main sqlite

repository ↗ · DeepWiki ↗
1,091 symbols 3,837 edges 66 files 308 documented · 28% 6 cross-repo links
README

pdfminer.six

Continuous integration PyPI version gitter

We fathom PDF

Pdfminer.six is a community maintained fork of the original PDFMiner. It is a tool for extracting information from PDF documents. It focuses on getting and analyzing text data. Pdfminer.six extracts the text from a page directly from the sourcecode of the PDF. It can also be used to get the exact location, font or color of the text.

It is built in a modular way such that each component of pdfminer.six can be replaced easily. You can implement your own interpreter or rendering device that uses the power of pdfminer.six for other purposes than text analysis.

Check out the full documentation on Read the Docs.

Features

  • Written entirely in Python.
  • Parse, analyze, and convert PDF documents.
  • Extract content as text, images, html or hOCR.
  • Support for PDF-1.7 specification (well, almost).
  • Support for CJK languages and vertical writing.
  • Support for various font types (Type1, TrueType, Type3, and CID) support.
  • Support for extracting embedded images (JPG, PNG, TIFF, JBIG2, bitmaps).
  • Support for decoding various compressions (ASCIIHexDecode, ASCII85Decode, LZWDecode, FlateDecode, RunLengthDecode, CCITTFaxDecode)
  • Support for RC4 and AES encryption.
  • Support for AcroForm interactive form extraction.
  • Table of contents extraction.
  • Tagged contents extraction.
  • Automatic layout analysis.

How to use

  • Install Python 3.10 or newer.
  • Install pdfminer.six. ```bash pip install pdfminer.six

  • (Optionally) install extra dependencies for extracting images.

```bash pip install 'pdfminer.six[image]'

  • Use the command-line interface to extract text from pdf.

```bash pdf2txt.py example.pdf

  • Or use it with Python. ```python from pdfminer.high_level import extract_text

text = extract_text("example.pdf") print(text) ```

Contributing

We welcome contributions! Whether you want to fix a bug, add a feature, or improve documentation, your help is appreciated.

Please note that as a community-maintained project with limited maintainer availability, the best way to get an issue resolved is to submit a pull request yourself.

To get started: 1. Read CONTRIBUTING.md for setup instructions and coding standards 2. Check out the open issues to find something to work on 3. Join the discussion on Gitter if you have questions

Acknowledgement

This repository includes code from pyHanko ; the original license has been included here.

Core symbols most depended-on inside this repo

add
called by 240
pdfminer/ccitt.py
get
called by 108
pdfminer/pdftypes.py
write
called by 83
pdfminer/converter.py
safe_float
called by 52
pdfminer/casting.py
resolve1
called by 31
pdfminer/pdftypes.py
absolute_sample_path
called by 30
tests/helpers.py
literal_name
called by 29
pdfminer/psparser.py
add
called by 28
pdfminer/utils.py

Shape

Method 765
Class 171
Function 155

Languages

Python100%

Modules by API surface

pdfminer/layout.py111 symbols
pdfminer/pdfinterp.py110 symbols
pdfminer/pdfdocument.py84 symbols
pdfminer/pdffont.py66 symbols
pdfminer/converter.py64 symbols
pdfminer/psparser.py46 symbols
pdfminer/cmapdb.py46 symbols
tests/test_tools_pdf2txt.py45 symbols
pdfminer/utils.py44 symbols
pdfminer/ccitt.py37 symbols
pdfminer/pdftypes.py31 symbols
pdfminer/pdfdevice.py31 symbols

Dependencies from manifests, versioned

charset-normalizer2.0.0 · 1×
cryptography36.0.0 · 1×

For agents

$ claude mcp add pdfminer.six \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact