Commit Graph

496 Commits

Author SHA1 Message Date
Jeremy Singer-Vine 71ad60f891 Add strict=True/False to .crop/within_bbox(...)
See https://github.com/jsvine/pdfplumber/issues/421
2022-07-20 15:16:03 -04:00
Jeremy Singer-Vine 28330da9c3 Fix handling of CMYK pages in PageImage conversion 2022-07-20 12:16:36 -04:00
Jeremy Singer-Vine c20c23afec Note _itemgetter removal in CHANGELOG.md (v0.7.0)
Cf.: https://github.com/jsvine/pdfplumber/issues/691
2022-07-20 08:58:28 -04:00
Jeremy Singer-Vine f9c1f6172b Rerun examples using latest version v0.7.3 2022-07-18 10:48:11 -04:00
Jeremy Singer-Vine 3d80cebb17 Bump to version 0.7.3 2022-07-18 10:47:36 -04:00
Jeremy Singer-Vine b98dd7caff Quick fix for image transparency issue 2022-07-18 10:35:35 -04:00
Jeremy Singer-Vine 1a07638ff1 Update test for alt. PNG repr size 2022-07-17 22:58:54 -04:00
Jeremy Singer-Vine 64afaf9559 Rerun examples using latest version 2022-07-17 22:52:29 -04:00
Jeremy Singer-Vine 12daa3b1a8 Bump to version 0.7.2 v0.7.2 2022-07-17 22:48:05 -04:00
Jeremy Singer-Vine 589e0d536d Update .gitignore 2022-07-17 22:47:12 -04:00
Jeremy Singer-Vine 21b9519b0e Update CHANGELOG.md 2022-07-17 22:47:00 -04:00
Jeremy Singer-Vine 1cd1f9aea9 Change .to_image(...)'s approach ...
... preferring to composite with a white background instead of removing
the alpha channel. This seems to more reliably produce high-quality
conversions (easier to read, fewer conversion artifacts) than either the
prior or other previous approaches.
2022-07-17 22:45:59 -04:00
Jeremy Singer-Vine 35fd4298bc Add test_extract_text_punctuation 2022-07-17 12:51:07 -04:00
Jeremy Singer-Vine 8687c8737f Update CHANGELOG.md 2022-07-16 17:22:12 -04:00
Jeremy Singer-Vine b00cbbe3aa Thank @lolipopshock in README.md 2022-07-16 17:22:06 -04:00
Jeremy Singer-Vine fd815e1c49 Add split_at_punctuation also to .extract_text(...) 2022-07-16 17:21:47 -04:00
Jeremy Singer-Vine 58e025c5f4 Refactor .iter_chars_to_words(...) slightly
No changes to behavior or interface.
2022-07-16 17:14:46 -04:00
Shannon Shen 5193c26c31 Consider punctuation when extracting words (#682)
Adds an optional argument to the `extract_words` function that allows to enforce breaking tokens at punctuation. PR by @lolipopshock.
2022-07-16 09:58:10 -04:00
Jeremy Singer-Vine e264585e52 Update codecov/codecov-action version 2022-07-15 07:57:48 -04:00
Jeremy Singer-Vine 6d4eec829a Add link to Chinese translation 2022-07-14 17:45:01 -04:00
Jeremy Singer-Vine cfa0a38e30 Update list of tested Python versions 2022-07-14 17:37:00 -04:00
Jeremy Singer-Vine 12feadb8fd Fix bug in LayoutEngine.calculate(...)
The problem had been that `LayoutEngine.calculate(...)` was assuming
that len(char["text"]) would always equal 1, which is not true for
ligatures.

Thanks to @samkit-jain for finding a PDF that raised the error, and to
@bpugnaire for raising issue #683.
2022-07-14 17:21:55 -04:00
Jeremy Singer-Vine fd3f5334f8 Bump version to 0.7.1 v0.7.1 2022-05-31 15:53:26 -04:00
Jeremy Singer-Vine 0475819d73 Update CHANGELOG.md 2022-05-31 15:52:50 -04:00
Jeremy Singer-Vine ef065a72e5 Add Makefile target and reqs for examples 2022-05-31 15:50:50 -04:00
Jeremy Singer-Vine 063e2edd75 Fix #659 (PageImage.debug_tablefinder())
Thanks to @rneumann7 for flagging!
2022-05-31 15:45:40 -04:00
Jeremy Singer-Vine a0988aa963 Add missing h/t to CHANGELOG.md 2022-05-27 15:02:19 -04:00
Jeremy Singer-Vine cec6e0feb0 Bump version to 0.7.0 v0.7.0 2022-05-27 14:54:28 -04:00
Jeremy Singer-Vine 23d449badc Update CHANGELOG.md 2022-05-27 14:53:43 -04:00
Jeremy Singer-Vine ad3df11954 Fix .extract_text(layout=True) for text-less pages
Fixes https://github.com/jsvine/pdfplumber/issues/658

Thanks to @ethanscorey for flagging!
2022-05-27 14:41:57 -04:00
Jeremy Singer-Vine 486cea840a Bump pdfminer.six to version 20220524 2022-05-24 13:48:57 -04:00
Jeremy Singer-Vine f4f7e66c94 Add thanks to @jhonatan-lopes 2022-05-24 13:45:53 -04:00
Jhonatan Lopes ca795d19c4 Add py.typed marker for PEP 561 compatibility (#657)
Via PR by @jhonatan-lopes.
2022-05-24 13:43:42 -04:00
Jeremy Singer-Vine b39fc46cb6 Tweak CTM desc. in CHANGELOG slightly 2022-05-17 11:01:49 -04:00
Jeremy Singer-Vine 1262f6cfb4 Add README note re. .search(...) kwargs 2022-05-14 17:43:36 -04:00
Jeremy Singer-Vine 4deac2522d Add --include/exclude-attrs to CLI & serialization
For `Serializer`, `.to_json(...)` and `.to_csv(...)`, the params are
`include_attrs`, and `exclude_attrs`.
2022-05-14 12:07:44 -04:00
Jeremy Singer-Vine 826e927b7f Remove redundant loading in test_basics.py 2022-05-13 16:42:23 -04:00
Jeremy Singer-Vine 9f11de3b4d @lru_cache -> @lru_cache() to appease Python 3.7 2022-05-13 16:26:13 -04:00
Jeremy Singer-Vine 24f3532813 Remove utils.collate_chars(...)
This was the previous name (and then alias) for utils.extract_text(...),
and hasn't been featured in the documentation in a long time.
2022-05-13 16:10:13 -04:00
Jeremy Singer-Vine 58b1ab1b0a Add (experimental) page.search(...) feature
First proposed here: https://github.com/jsvine/pdfplumber/issues/201

Adding this feature involved refactoring and re-engineering a good chunk
of the text-layout-extraction code. As part of that, this commit
introduces two new classes, in utils.py: LayoutEngine and TextLayout.
They should be considered provisional, and may change name/approach in
the future.
2022-05-13 16:04:03 -04:00
Jeremy Singer-Vine 056b8310db Add to README: stroking_color / non_stroking_color 2022-05-13 15:22:41 -04:00
Jeremy Singer-Vine 75462f81e1 Remove unnecessary assignment 2022-05-11 09:57:15 -04:00
Jeremy Singer-Vine ae6f99e691 Add char['matrix'], ctm submodule, and CTM class 2022-05-10 18:09:44 -04:00
Jeremy Singer-Vine 3191c25c83 Bump version to 0.6.2 v0.6.2 2022-05-06 13:59:59 -04:00
Jeremy Singer-Vine 3cf4e6faac Update CHANGELOG.md 2022-05-06 13:59:13 -04:00
Jeremy Singer-Vine 1b7458a795 Tweak test_display.py:test__repr_png_ 2022-05-06 13:54:58 -04:00
Jeremy Singer-Vine b013e9bd66 Downgrade pandas in reqs-dev, for Py3.7 testing 2022-05-06 13:36:52 -04:00
Jeremy Singer-Vine 0c4a9e5ec3 Add --profile black to isort in GH action 2022-05-06 13:31:39 -04:00
Jeremy Singer-Vine feb9d082d7 Add final bits of test coverage
Added weak tests for a couple of hard-to-test visual debugging methods
in display.py.

Also marked an exception-handling block in pdf.py as `pragma: nocover`
because we don't yet have a PDF to test it with, but the logic there is
simple and straightforward.
2022-05-06 10:19:48 -04:00
Jeremy Singer-Vine a7af394308 Update CHANGELOG.md 2022-05-06 10:17:14 -04:00