Fixed all unit tests.
Removed constant padding added around tables in the last step of the
initial discovery mode of the stream algorithm.
Replaced it with a heuristic that attempts to expand the table up while
respecting columns identified so far.
Updated unit tests to reflect new behavior, improved rejection of
extraneous information in few cases.
Added unit test covering a use case where the header has vertical test.
Made improvements to better support vertical text in tables.
Removed the heuristic that pads height by 5x the row height.
Updated the 4 unit tests that got better results based on it.
Still do: fix the 6 unit tests that got broken, plus my new target.
Removed extraneous header and footer expectations.
Fixed a minor space discrepancy that's unconsequential.
TODO: the expectation of the test is still wrong. It shouldn't include the heading paragraph.
* 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