Commit Graph

767 Commits

Author SHA1 Message Date
Jeremy Singer-Vine 42a004f6b2 Add edge_min_length_prefilter table setting #1274
... for initial edge filtering. Lowering this setting enables capturing
small edge segments (e.g., dashed lines) that would be filtered out with
the default minimum length of 1. Raising this setting would be less
common but plausible.

Thanks to @bronislav for suggesting.
2025-07-20 08:08:14 -04:00
Jeremy Singer-Vine 503dfb6cd7 Remove sys.stdin.buffer from CLI infile default 2025-07-19 18:25:00 -04:00
Jeremy Singer-Vine 4144426bf3 Update example CLI usage in README.md 2025-07-19 18:24:34 -04:00
Jeremy Singer-Vine b67079fb70 Add licensing info to README library comps (#1314)
h/t @mjhea0
2025-06-22 11:47:38 -04:00
Jeremy Singer-Vine 0dd4925885 Update CITATION.cff 2025-06-12 07:31:46 -04:00
Jeremy Singer-Vine c6a24be50d Bump version to 0.11.7 v0.11.7 2025-06-12 07:23:30 -04:00
Jeremy Singer-Vine 51f30659d4 Update CHANGELOG.md 2025-06-12 07:21:29 -04:00
Jeremy Singer-Vine 738f6f0198 Add test for CLI auto-help 2025-06-11 23:40:50 -04:00
mara004 b88907fd0c Minor cleanup around pypdfium2 integration 2025-06-11 23:26:26 -04:00
Jeremy Singer-Vine 7e364e6193 Add Page.trimbox, .bleedbox, .artbox (#1313)
Thanks to @samuelbradshaw for the suggestion!
2025-06-11 23:26:26 -04:00
Jeremy Singer-Vine 4c7e092cac Upgrade pdfminer.six from 20250327 to 20250506
... and adjust color handling accordingly.
2025-06-11 23:26:26 -04:00
Jeremy Singer-Vine 3e0d4df54a Run make format 2025-06-11 23:26:09 -04:00
nobody cd6fd70fe1 Auto-add --help if CLI run w/o args
(Commit message edited by @jsvine.)
2025-06-11 23:24:07 -04:00
Jeremy Singer-Vine 02ff4313f8 Tiny tweaks to CHANGELOG.md 2025-03-27 23:21:17 -04:00
Jeremy Singer-Vine 8cd8e48199 Bump version to 0.11.6 v0.11.6 2025-03-27 23:16:20 -04:00
Jeremy Singer-Vine 44b078c3ff Update CHANGELOG.md 2025-03-27 23:15:06 -04:00
Jeremy Singer-Vine e15ed98a26 Fix bug w/ use_text_flow=True extractions (#1279)
... related to flows where text bounces between lines.

h/t @samuelbradshaw
2025-03-27 22:44:25 -04:00
Jeremy Singer-Vine f2ad9423fa Add another oss-fuzz test case, already fixed 2025-03-27 22:00:20 -04:00
Jeremy Singer-Vine 748ff31dd9 More broadly handle RecursionError, via oss-fuzz 2025-03-27 21:58:17 -04:00
Jeremy Singer-Vine 9148810a8f Fix unhandled None in do_PDFStream, via oss-fuzz 2025-03-27 21:57:21 -04:00
Jeremy Singer-Vine 3fcb493941 Bump pdfminer.six to version 20250327 2025-03-27 21:31:06 -04:00
Jeremy Singer-Vine 7e28e76dd3 Remove test_issue_1089 (#1263)
@booxter makes a good point that the test is platform-specific. The
issue has been resolved, and it's not expected to return, so I think
provisionally OK to remove this test.
2025-03-25 23:03:13 -04:00
Jeremy Singer-Vine 630f30ef10 pragma:nocover exceptions no longer raised by pdfminer.six 2025-03-25 22:52:47 -04:00
Jeremy Singer-Vine 12a73a2599 Bump pdfminer.six to version 20250324 2025-03-25 22:52:16 -04:00
Jeremy Singer-Vine 6349adb26d Add escapechar for .to_csv(...) 2025-02-10 22:09:28 -05:00
Jeremy Singer-Vine 980494a782 Use csv.QUOTE_MINIMAL for .to_csv(...) 2025-02-10 21:54:10 -05:00
Jeremy Singer-Vine 47a7ab88e3 Update exception handler 2025-02-10 21:53:17 -05:00
Jeremy Singer-Vine 8f5f498d8f Fix wrong exception expectation in test 2025-02-09 17:23:37 -05:00
Jeremy Singer-Vine 43ccc5b260 Catch exceptions from pdfminer and malformed PDFs
... thanks to OSS-Fuzz and @ennamarie19

Cf.: https://github.com/google/oss-fuzz/pull/12949
2025-02-09 16:25:30 -05:00
Jeremy Singer-Vine a77808a524 Merge pull request #1270 from mara004/patch-1
test_issue_1089: update wording regarding pypdfium2
2025-02-02 11:16:58 -05:00
mara004 5d47d5a927 test_issue_1089: update wording regarding pypdfium2
See https://github.com/jsvine/pdfplumber/issues/1089#issuecomment-2007961627 for background
2025-02-02 16:27:53 +01:00
Jeremy Singer-Vine c562774331 Bump version to 0.11.5 v0.11.5 2025-01-01 10:30:00 -05:00
Jeremy Singer-Vine 4af0e1dfef Update CHANGELOG.md 2025-01-01 10:29:53 -05:00
Jeremy Singer-Vine 7c6354193f Add thanks to @stolarczyk in README.md 2025-01-01 10:29:53 -05:00
Jeremy Singer-Vine 078df970aa Fix #1237 (tf → table_settings) h/t @n-traore
And thanks to @cmdlineluser for the nudge.
2024-12-31 09:11:32 -05:00
Jeremy Singer-Vine 6e54799542 Add thanks to @brandonrobertz (#1235) 2024-12-28 12:13:32 -05:00
Jeremy Singer-Vine 69d010a093 Add initial test/docs for format --text (#1235) 2024-12-15 23:24:31 -05:00
Jeremy Singer-Vine e0ee254726 Merge pull request #1235 from brandonrobertz/add-text-output-mode
Add a --format text option
2024-12-15 23:07:14 -05:00
Brandon Roberts f3f2b57fc0 Add a --format text option
I use this regularly because pdfplumber has among the best layout
preserving methods for PDFs, especially machine generated ones.
Exposing the page output via CLI lets me use pdfplumber as a general
purpose PDF-to-text tool.

Usage:

pdfplumber --format text file.pdf > file.txt
2024-12-10 14:21:22 -08:00
Jeremy Singer-Vine 28d4f50437 Merge PR #1195 2024-12-08 23:10:15 -05:00
Jeremy Singer-Vine 20731649dc Appease linter 2024-12-08 22:55:30 -05:00
Michal Stolarczyk c80c78dcf9 add a test to cover raise_unicode_errors parameter 2024-11-22 16:48:19 +01:00
Jeremy Singer-Vine 1e4b48aaa6 Run 'make format' and ignore code line-length 2024-11-22 08:18:11 -05:00
Michal Stolarczyk 138ababb3b rename warn_unicode_error to raise_unicode_errors for clarity
additionally change the default accordingly
2024-11-13 18:34:35 +01:00
Jeremy Singer-Vine ea3b3e5420 Merge pull request #1221 from erghelium/develop
Fix broken link to Anssi Nurminen's master's thesis in the README.md
2024-11-10 22:47:33 -05:00
Guilherme 8542adb95e Fix broken link to Anssi Nurminen's master's thesis in README 2024-11-10 18:19:04 -03:00
Jeremy Singer-Vine 6ef62c9791 Add name property to image objects (#1201)
h/t @djr2015
2024-10-02 21:11:38 -04:00
Michal Stolarczyk 396c5e3669 warn on unicode decoding errors in PDF annotations
in some cases the the annotations may contain some junk that hinders annotations processing altogether. This allows to ignore the error and warn instead, which is configurable via warn_unicode_error arguments in the PDF initializer and/or open() method.
2024-08-30 10:24:39 +02:00
Jeremy Singer-Vine e921ea748b Bump to v0.11.4 v0.11.4 2024-08-18 19:41:05 -04:00
Jeremy Singer-Vine 1d0eeff419 Quickfix for Python 3.8 type hint issue 2024-08-18 19:28:29 -04:00