Community maintained fork of pdfminer - we fathom PDF
 
 
Go to file
Jeremy Singer-Vine e83dd26671
Fix .paint_path for non-rectangle quadrilaterals (#512)
* Fix paint_path bug noted in issue #473

Focuses on the handling of non-rect quadrilaterals, the decomposition of
complex (m.*h)* paths into subpaths, and assigning those subpaths the
correct LTCurve/LTRect type.

Also adds a test for cases presented in issue #473

* Tweak paint_path fix per @pietermarsman review

- Adjusts logic to adhere to if-elif-else rather than early returns.

- Shortens subpath detection/reprocessing step, using re.finditer().

* Reorder paint_path() if-else statements once more

* Fix flake8 issues

* Fix error: should select item 1 and 2 from the list, and possible items [3, 4], and so on.

Co-authored-by: Pieter Marsman <pietermarsman@gmail.com>
2020-10-12 17:53:00 +02:00
.github Improve docs and github templates 2020-03-08 15:06:13 +01:00
cmaprsrc Fix typos 2016-09-13 16:25:09 +02:00
docs Deprecate Python 3.4 and 3.5 (#507) 2020-10-10 16:15:03 +02:00
pdfminer Fix .paint_path for non-rectangle quadrilaterals (#512) 2020-10-12 17:53:00 +02:00
samples Add section to documentation with howto for AcroForm fields extraction (#458) 2020-09-10 19:18:41 +02:00
tests Fix .paint_path for non-rectangle quadrilaterals (#512) 2020-10-12 17:53:00 +02:00
tools Fix not being able to pass boxes flow as None to pdf2txt (#479) 2020-10-10 15:17:04 +02:00
.gitignore Bump version to 20200121 2020-01-21 21:13:52 +01:00
.travis.yml Fix #395: Update documentation for boxes_flow, allow None (#396) 2020-03-26 23:03:49 +01:00
CHANGELOG.md Fix .paint_path for non-rectangle quadrilaterals (#512) 2020-10-12 17:53:00 +02:00
CONTRIBUTING.md Improve docs and github templates 2020-03-08 15:06:13 +01: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 Change pycryptodome dependency to the faster, smaller, and industry standard cryptography package (#456) 2020-07-20 22:00:54 +02:00
README.md Deprecate Python 3.4 and 3.5 (#507) 2020-10-10 16:15:03 +02:00
setup.py Change pycryptodome dependency to the faster, smaller, and industry standard cryptography package (#456) 2020-07-20 22:00:54 +02:00
tox.ini Remove unused rijndael encryption implementation (#465) 2020-09-10 19:28:00 +02:00

README.md

pdfminer.six

Build Status PyPI version gitter

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 build in a modular way such that each component of pdfminer.six can be replaced easily. You can implement your own interpreter or rendering device to use the power of pdfminer.six for other purposes that text analysis.

Check out the full documentation on Read the Docs.

Features

  • Written entirely in Python.
  • Parse, analyze, and convert PDF documents.
  • 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 and Bitmaps).
  • 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 (3.4 and 3.5 are deprecated)

  • Install

    pip install pdfminer.six

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

    python pdf2txt.py samples/simple1.pdf

Contributing

Be sure to read the contribution guidelines.