* Clean up the parser comparison notebook
* Address issue where hybrid didn't honor the columns parameter
* Fix dropping of empty rows/columns in hybrid
* Hybrid learns table y-dimensions from lattice
Create hybrid parser leverage both lattice and network techniques.
Simplify plotting of pdf in lattice case.
Rename "parser.table_bbox" into "parser.table_bbox_parses", since it
represents not a bbox but a dict of bbox to corresponding parsing data.
Still missing: more unit tests, plotting of steps.
Enforce order of textline plotting for unit test consistency in 3.6.
Create wrapper around camelot plot that enforces backwards consistency
with older versions of matplotlib.
No longer rely on the mode but on the parsing analysis during network
detection.
Added unit test for complex table with vertical header and mixed
horizontal / vertical text.
Plot takes an optional axes parameter, allowing notebooks more
flexibility.
Header heuristic in hybrid won't include headers which span the
entire table.
Added unit test for issue #132
Fixes https://github.com/camelot-dev/camelot/issues/132
* Rename png files
* Convert plot to PlotMethods class and update docs
* Update test
* Update setup.py and docs
* Refactor PlotMethods
* Make matplotlib optional
* Raise ImportError in cli
* [MRG] Create a new figure and test each plot type #127
- move `plot()` to `plotting.py` as `plot_pdf()`
- modify plotting functions to return matplotlib figures
- add `test_plotting.py` and baseline images
- import `plot_pdf()` in `__init__`
- update `cli.py` to use `plot_pdf()`
- update advanced usage docs to reflect changes
* Change matplotlib backend for image comparison tests
* Update plotting and tests
- use matplotlib rectangle instead of `cv2.rectangle` in
`plot_contour()`
- set matplotlib backend in `tests/__init__`
- update contour plot baseline image
- update `test_plotting` with more checks
* Update plot tests and config
- remove unnecessary asserts
- update setup.cfg and makefile with `--mpl`
* Add to
* Add tolerance
* remove text from baseline plots
update plot tests with `remove_text`
* Change method name, update docs and add pep8
* Update docs
* [MRG] Add basic support for encrypted PDF files
Update API and CLI to accept ASCII passwords to decrypt PDFs
encrypted by algorithm code 1 or 2 (limited by support from PyPDF2).
Update documentation and unit tests accordingly.
Example document health_protected.pdf generated as follows:
qpdf --encrypt userpass ownerpass 128 -- health.pdf health_protected.pdf
Issue #162
* Support encrypted PDF files in python3
Issue #162
* Address review comments
Explicitly check passwords for None rather than falsey.
Correct read_pdf documentation for Owner/User password.
Issue #162
* Correct API documentation changes for consistency
Issue #162
* Move error tests from test_common to test_errors
Issue #162
* Add qpdf example
* Remove password is not None check
* Fix merge conflict
* Fix pages example
* Remove unused image processing code
* Add opencv back-compat comment
* Add tests for parser special cases
* Fix lattice table area test
* Add tests for output format
* Add openpyxl dep
* Add unknown flavor test
* Add input kwargs test
* Remove unused utils
* Add unsupported format test
* Add stream unequal tables-columns length test
* Add python3 compat
* Add no tables found test
* Convert util info log to warning