Community maintained fork of pdfminer - we fathom PDF
 
 
Go to file
Jeremy Singer-Vine ad6587c697
Fix to set color space from color convenience ops (#794)
Section 4.5 of the PDF reference says: "Color values are interpreted
according to the current color space, another parameter of the graphics
state. A PDF content stream first selects a color space by invoking the
CS operator (for the stroking color) or the cs operator (for the
non-stroking color). It then selects color values within that color
space with the SC operator (stroking) or the sc operator (nonstroking).
There are also convenience operators—G, g, RG, rg, K, and k—that select
both a color space and a color value within it in a single step."

Previously, those convenience operators did *not* set the color space.
This commit, following on filed issue #779, fixes this. It also adds a
test to demonstrate that, at least for the do_rg method, the fix works
as intended.
2022-08-18 20:38:51 +02:00
.github Run black locally with nox (#776) 2022-06-26 18:25:28 +02:00
cmaprsrc Fix typos 2016-09-13 16:25:09 +02:00
docs Fix Sphinx warnings and error (#760) 2022-05-24 20:07:04 +02:00
pdfminer Fix to set color space from color convenience ops (#794) 2022-08-18 20:38:51 +02:00
samples Ignore empty characters when analyzing layout (#689) 2022-02-22 21:20:26 +01:00
tests Fix to set color space from color convenience ops (#794) 2022-08-18 20:38:51 +02:00
tools Deprecate usage of `if __name__ == "__main__"` in scripts that are not documented. Also deprecate usage of scripts that are only there for testing purposes. (#756) 2022-06-25 23:11:10 +02:00
.flake8 Check blackness in github actions (#711) 2022-02-11 22:46:51 +01:00
.gitignore Update development tools: travis ci to github actions, tox to nox, nose to pytest (#704) 2022-02-02 22:24:32 +01:00
CHANGELOG.md Fix to set color space from color convenience ops (#794) 2022-08-18 20:38:51 +02:00
CONTRIBUTING.md Run black locally with nox (#776) 2022-06-26 18:25:28 +02:00
LICENSE Added: LICENSE 2016-09-11 23:38:18 +09:00
MANIFEST.in Remove samples/ directory from source distribution to prevent downloading all pdf's when installing pdfminer.six (#364) 2020-01-24 12:36:02 +01:00
Makefile Add github action for releasing to pypi if git tag is added. (#727) 2022-03-19 20:46:00 +01:00
README.md Add HOCRConverter (fixes #650) (#651) 2022-08-14 11:52:50 +02:00
mypy.ini Use charset-normalizer instead of chardet (#744) 2022-04-20 21:42:50 +02:00
noxfile.py Run black locally with nox (#776) 2022-06-26 18:25:28 +02:00
setup.py Run black locally with nox (#776) 2022-06-26 18:25:28 +02:00

README.md

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.
  • PDF-1.7 specification support. (well, almost).
  • CJK languages and vertical writing scripts support.
  • Various font types (Type1, TrueType, Type3, and CID) support.
  • Support for extracting images (JPG, JBIG2, Bitmaps).
  • Support for 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.6 or newer.

  • Install

    pip install pdfminer.six

  • (Optionally) install extra dependencies for extracting images.

    pip install 'pdfminer.six[image]'

  • Use command-line interface to extract text from pdf:

    python pdf2txt.py samples/simple1.pdf

Contributing

Be sure to read the contribution guidelines.

Acknowledgement

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