James R. Barlow
be425e7405
Refactor pdfinfo: split info.py into focused modules
...
Split the 1288-line info.py into smaller, single-responsibility modules:
- _types.py: Enums, type aliases, lookup dictionaries
- _contentstream.py: PDF content stream parsing, DPI calculation
- _image.py: ImageInfo class and image finding functions
- _worker.py: Concurrency/worker process handling
- info.py: PageInfo, PdfInfo classes (reduced to ~530 lines)
Public API unchanged - all existing imports continue to work.
2025-12-22 01:27:23 -08:00
James R. Barlow
4924b11b6b
Additional ruff fixes
2023-04-14 01:25:16 -07:00
James R. Barlow
1709e23701
pipeline: add further typing details
2022-09-19 20:19:15 -07:00
James R. Barlow
80ed2117cc
Change to SPDX license tracking
2022-07-28 01:10:07 -07:00
James R. Barlow
dc6f1a266a
Modernize type annotations
2022-07-23 00:39:24 -07:00
James R. Barlow
b17fb61389
Configure pylint in pyproject and delint
2022-06-12 00:30:44 -07:00
James R. Barlow
aa0ec40102
Change license of all GPLv3 files to MPL-2.0
...
https://github.com/jbarlow83/OCRmyPDF/issues/600
2020-08-05 00:44:42 -07:00
James R. Barlow
a2d3e0b53e
Convert remaining imports to absolute
2020-05-12 02:12:08 -07:00
James R. Barlow
5f00e4f9d8
Sort imports
2019-07-27 04:51:52 -07:00
James R. Barlow
c357d4146e
Restructure ocrmypdf.pdfinfo
2019-06-20 03:10:41 -07:00
James R. Barlow
81fc95556c
Add progress bar for PdfInfo step
2019-06-05 03:08:04 -07:00
James R. Barlow
8ed4e229f3
ghostscript: avoid log=None construct
2019-05-30 13:57:38 -07:00
James R. Barlow
f615b6f0e8
pdfinfo: be more specific about detecting XFA we can't render
2019-04-18 15:07:25 -07:00
James R. Barlow
e0c8dadcce
Explicitly close most pikepdf.Pdf when done with them
2019-04-18 15:02:12 -07:00
James R. Barlow
e3a58219d1
Ensure XObjects with no subtype don't cause an exception
...
Closes #325
2019-01-08 16:46:08 -08:00
James R. Barlow
c771938907
Convert to f-strings where it makes sense
2018-12-31 15:01:19 -08:00
James R. Barlow
8c0009c5c8
Make pdfminer.six optional
...
Mainly since the current release of pdfminer.six lacks a sdist, blocking
homebrew packaging. Also in case other distros don't accept pdfminer.six.
2018-12-31 01:08:43 -08:00
James R. Barlow
06308a22ce
Reformat with black
2018-12-30 01:27:49 -08:00
James R. Barlow
72b920eb16
Drop support for Python 3.5
2018-12-30 00:23:26 -08:00
James R. Barlow
13d20bd993
pdfinfo: tolerate PDFs that overflow and underflow the graphics stack
2018-12-15 15:10:29 -08:00
James R. Barlow
ed9bb985e2
Fix pikepdf 0.9.0
2018-12-14 23:21:13 -08:00
James R. Barlow
0ebbd4e21b
Don't open encrypted files, even if password is empty
2018-12-13 22:48:00 -08:00
James R. Barlow
75c5d8055c
pdfinfo: fix FutureWarning
2018-12-12 22:12:14 -08:00
James R. Barlow
d3b334c10f
Test case: true type font without Unicode mapping
2018-11-15 16:22:53 -08:00
James R. Barlow
e3b65d4288
Fix detailed page analysis enabled at wrong time
2018-11-15 12:02:08 -08:00
James R. Barlow
9593aa4fb9
Merge v7.3.0 development
2018-11-11 01:38:42 -08:00
James R. Barlow
2125b5bfab
Remove text detection from our parser interpret_contents
...
It's redundant now
2018-11-04 15:47:55 -08:00
James R. Barlow
b96532caa4
Only do detailed page analysis when needed by --redo-ocr
2018-11-04 15:40:49 -08:00
James R. Barlow
995fc58466
Move Ghostscript text analysis into its own module
2018-11-04 14:55:48 -08:00
James R. Barlow
c023cae299
Make pdfminer Type3 patch conditional on PScript5.dll
...
It appears that PDFs created by this software have a bug in their BBox
which will cause us to misjudge the space occupied by the font.
Other programs probably work around this by ignoring BBox and reading
each character procedure.
2018-11-04 01:53:53 -07:00
James R. Barlow
1364c63b7c
Fix failure to pickle file with AcroForm
2018-11-01 20:07:53 -07:00
James R. Barlow
4ba9e8fe25
Add AcroForm detection
2018-10-30 22:28:44 -07:00
James R. Barlow
be31cec332
Add corrupt text warning (when using --redo-ocr)
2018-10-30 16:19:58 -07:00
James R. Barlow
93623b2226
Refactor TextboxInfo
2018-10-29 14:46:40 -07:00
James R. Barlow
de80fb6bc8
Fix some failing tests after --redo-ocr changes
2018-10-29 11:49:38 -07:00
James R. Barlow
f564aaf485
Remove only_ocr_text
2018-10-28 22:41:18 -07:00
James R. Barlow
fda890ab47
pdfinfo: further layout improvements
...
Rather than grouping visible/invisible in a custom analysis step,
use pdfminer's analysis and iterate.
Make iteration predicate and return more generic.
2018-10-28 14:05:50 -07:00
James R. Barlow
0e4d978d20
pdfinfo: all -> not any
2018-10-27 23:22:28 -07:00
James R. Barlow
58cc70725e
Reorganize around getting bboxes for visible/invisible text
2018-10-26 01:07:02 -07:00
James R. Barlow
339afb02aa
--redo-ocr now works in the presence of printable text
2018-10-25 16:53:47 -07:00
James R. Barlow
ff41fbf673
Add pdfminer based layout analysis
2018-10-25 12:42:35 -07:00
James R. Barlow
2435cd23ce
Move pdfinfo into a package
2018-10-25 00:37:38 -07:00