James R. Barlow and aider
01ea6c2b8b
feat: add ValidationCoordinator for cross-cutting validation
...
Co-authored-by: aider (openrouter/anthropic/claude-sonnet-4) <aider@aider.chat >
2025-12-21 12:21:48 -08:00
James R. Barlow and aider
f02d733d31
feat: add legacy field mapping to plugin registry
...
Co-authored-by: aider (openrouter/anthropic/claude-sonnet-4) <aider@aider.chat >
2025-12-21 12:21:48 -08:00
James R. Barlow and aider
28d6ea0f10
feat: Add CLI generation methods to plugin option models
...
Co-authored-by: aider (openrouter/anthropic/claude-sonnet-4) <aider@aider.chat >
2025-12-21 12:21:48 -08:00
James R. Barlow and aider
6913ec7cb8
feat: add PluginOptionRegistry for dynamic option models
...
Co-authored-by: aider (openrouter/anthropic/claude-sonnet-4) <aider@aider.chat >
2025-12-21 12:21:48 -08:00
James R. Barlow and aider
b7640bdb9c
feat: implement plugin option models with backward compatibility
...
This commit introduces Pydantic models for plugin-specific options in OCRmyPDF, focusing on:
- Creating TesseractOptions, OptimizeOptions, and GhostscriptOptions
- Adding backward compatibility properties
- Maintaining existing CLI and API functionality
- Preparing for future plugin option registration system
The changes include:
- Added type-annotated option models with validation
- Updated OCROptions to include legacy fields
- Added backward compatibility properties for jbig2 options
- Prepared groundwork for dynamic plugin option handling
Co-authored-by: aider (openrouter/anthropic/claude-sonnet-4) <aider@aider.chat >
2025-12-21 12:21:48 -08:00
James R. Barlow
1f493ba789
refactor: post-AI code cleanup
2025-12-21 12:21:47 -08:00
James R. Barlow and aider
65b89cafde
fix: use available_cpu_count fallback for jobs in hOCR
...
Co-authored-by: aider (openrouter/anthropic/claude-sonnet-4) <aider@aider.chat >
2025-12-21 12:21:47 -08:00
James R. Barlow and aider
7b37f57b1c
refactor: replace Namespace with OCROptions in plugins and validation
...
Co-authored-by: aider (openrouter/anthropic/claude-sonnet-4) <aider@aider.chat >
2025-12-21 12:21:46 -08:00
James R. Barlow
414d80fc16
Deprecate semfree and don't auto activate it
...
Instead the standard executor will fall back to threads.
semfree caused test failures with Py3.14:
https://github.com/ocrmypdf/OCRmyPDF/issues/1558
In retrospect and with emerging Python tech like freethreading, semfree is becoming less necessary. We can use threads for the time being.
A consequence is that performance may be lower on Lambda and Termux when we are using threads and not shelling out work.
2025-09-11 17:13:04 -07:00
James R. Barlow
f974e3b3c1
ghostscript: change input filename order for 10.03.1
...
Ghostscript now expects the pdfa.ps file to precede other files. Fixes #1359 .
2024-07-22 14:56:03 -07:00
James R. Barlow
214a333e2d
Block Tesseract 5.4.0
2024-06-11 14:44:54 -07:00
James R. Barlow
59f6bc8306
More Tesseract-specific language checks to its plugin
2024-06-01 00:15:50 -07:00
James R. Barlow
5fdcb7602b
Make downsampling large images that Tesseract would otherwise error on into default behavior
...
Fixes #1281
2024-04-07 13:43:20 -07:00
James R. Barlow
065bddbc6c
Reformat with ruff format
2024-04-07 00:25:32 -07:00
James R. Barlow
686481982a
Fix naming of hOCR rendered files
2024-03-22 13:27:20 -07:00
James R. Barlow
6a746a1cbb
ruff linting/Python 3.10 cleanup
2024-02-14 12:41:51 -08:00
James R. Barlow
7d63355c3c
Use hocr renderer for LTR languages
2024-02-12 01:41:41 -08:00
James R. Barlow
f87fc7b12d
gs: check for text-corrupting versions
2024-01-07 01:33:49 -08:00
James R. Barlow
103c3e0cd6
Drop Ghostscript CVE warning and adjust version down to 9.54
...
Most distros have probably now backported the CVE fix. Dropped version to 9.54 so RHEL 9 can use recent ocrmypdf.
2024-01-01 13:02:57 -08:00
James R. Barlow
1db8b0b943
Temporarily revert default renderer to sandwich while investigating regressions in macOS Preview
2023-12-23 16:19:44 -08:00
James R. Barlow
5b2f2e6290
Merge branch 'feature/modernhocr'
2023-12-03 15:17:02 -08:00
James R. Barlow
f6e90a5934
hOCR renderer is now default
2023-12-02 19:58:00 -08:00
James R. Barlow
c90d5cd84b
Fix Ghostscript installation instructions and add warning
2023-11-29 14:10:04 -08:00
James R. Barlow
fec53be841
Remove next major release deprecations
2023-11-21 00:47:51 -08:00
James R. Barlow
d2dbea6cf8
Reorganize progress bars so they can be typed properly
2023-10-24 00:54:31 -07:00
James R. Barlow
46a279a49a
Improve passing of arguments to workers
...
The executor system was built around passing only a single
argument to workers, which was
always PageContext. For other tasks, all actual arguments were packed in
a tuple, which meant we needed intermediate functions to unpack the
tuple.
The situation is now rationlized and resembles how Python handles
argument passing to familiar multiprocessing tools.
2023-10-24 00:54:31 -07:00
James R. Barlow
7ce9d08b2d
Define progress bar plugins formally instead of "tqdm-like"
2023-10-24 00:54:31 -07:00
James R. Barlow
6127f7abd6
tqdm_kwargs to progress_kwargs
2023-10-24 00:54:31 -07:00
James R. Barlow
113a6b45bd
ruff autofixes (mostly typing.* -> collections.abc.*)
2023-10-01 00:02:53 -07:00
James R. Barlow
e9419d2c40
Update notes on concurrency
2023-09-30 17:05:58 -07:00
James R. Barlow
ea36aedb5f
Overhaul version checkers to prefer Version to str
2023-09-25 00:59:44 -07:00
James R. Barlow
f04f45545c
ghostscript: fix missing type annotation
2023-09-24 01:19:56 -07:00
James R. Barlow
5667424530
Lower pngquant version req
2023-09-21 00:13:03 -07:00
James R. Barlow
0388c23ae7
Merge branch 'feature/jbig2thresh' into v15
2023-09-21 00:07:05 -07:00
James R. Barlow
3e1b3ec98d
Merge branch 'feature/fix-raster-dpi-too-high' into v15
2023-09-21 00:05:56 -07:00
James R. Barlow
23a37fc35c
Document that Ubuntu 22.04 and 20.04 both use Tesseract 4.1.1
2023-09-21 00:05:39 -07:00
James R. Barlow
2ad8961d0b
Require pngquant 2.13.1 or newer
2023-09-21 00:05:39 -07:00
James R. Barlow
eec8a2b574
Change minimum Ghostscript version to 9.55
2023-09-21 00:05:39 -07:00
James R. Barlow
ec1c377532
Drop Python 3.8 too
...
(cherry picked from commit a8cdc5a191bdf1fe401e96c2dc9a5fba39b90d79)
2023-09-21 00:05:39 -07:00
James R. Barlow
1768a1eda9
Improve documentation for large image downsampling
2023-09-20 16:58:59 -07:00
James R. Barlow
c77ae4b34c
Change hookspec to migration parameters for generate_pdf to options object
...
Breaking change for PDF rendering plugins (although none are known to exist).
This provides better separation of Ghostscript specific concerns from
the generic plugin interface.
2023-09-20 15:40:18 -07:00
James R. Barlow
b2cbbf0099
Migrate --pdfa-image-compression argument to being managed by Ghostscript plugin
2023-09-20 15:20:42 -07:00
James R. Barlow
e3c813fc67
Added support for changing color conversion strategy
2023-09-20 01:08:15 -07:00
James R. Barlow
ac2fc49208
Add support for adjusting jbig2 threshold
2023-09-17 14:44:40 -07:00
James R. Barlow
06a5e0c3f6
docs: various updates
2023-08-14 00:13:17 -07:00
James R. Barlow
19045c4f21
Replace coloredlogs and tqdm with rich
2023-08-11 01:47:42 -07:00
James R. Barlow
e8ed510543
Add stop on soft render errors and option to override
2023-06-01 23:49:34 -07:00
James R. Barlow
3731fdfd72
Add --tesseract-downsample-above X
2023-04-16 01:41:19 -07:00
James R. Barlow
f2fc37b257
Merge feature to downsample very large images
2023-04-14 13:09:15 -07:00
James R. Barlow
33b70be7d5
ruff: more fixes, mainly missing docstrings
2023-04-14 02:16:38 -07:00