James R. Barlow
0f82d7223e
Fix some typing issues
2024-10-27 12:31:16 -07:00
James R. Barlow
6edf756849
optimize: trap Hifi..Error
...
Fixes [Bug]: NotImplementedError: not sure how to get colorspace #1315
2024-06-30 00:08:51 -07:00
James R. Barlow
981bbf1105
optimize: add a recursion guard to avoid chasing cyclic form xobjects
2024-06-01 01:52:21 -07:00
James R. Barlow
b4db1b741f
optimize: fix handling of [/FlateDecode none] - type images
...
Closes #1271
2024-04-07 01:44:08 -07:00
James R. Barlow
065bddbc6c
Reformat with ruff format
2024-04-07 00:25:32 -07:00
James R. Barlow
6a746a1cbb
ruff linting/Python 3.10 cleanup
2024-02-14 12:41:51 -08:00
James R. Barlow
07b6f06f11
optimize: log images with unclear decode tables
2024-02-01 15:42:40 -08:00
James R. Barlow
fec53be841
Remove next major release deprecations
2023-11-21 00:47:51 -08:00
James R. Barlow
8a73ed5d5a
Fix JBIG2 not updating progress bar
2023-11-20 16:25:30 -08:00
James R. Barlow
2a8bc03167
optimize: typing
2023-10-24 00:54:31 -07: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
dfa4ebf1a6
Simplify function signature of extract_image_filter
2023-10-24 00:54:31 -07:00
James R. Barlow
f3dd733773
optimize: explore page container as objects instead of page helpers
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
85e31d0a19
Tidy imports and line length
2023-09-25 01:04:01 -07:00
James R. Barlow
8fcf358934
Rename pike local variable to pdf for consistency
2023-09-25 00:22:26 -07:00
James R. Barlow
ac2fc49208
Add support for adjusting jbig2 threshold
2023-09-17 14:44:40 -07:00
James R. Barlow
1bc09045a5
optimize: Add recursion into Form XObjects
2023-05-23 00:07:15 -07:00
James R. Barlow
e46a18dd2f
Refactor searching for optimizable images
2023-05-22 23:42:10 -07:00
James R. Barlow
33b70be7d5
ruff: more fixes, mainly missing docstrings
2023-04-14 02:16:38 -07:00
James R. Barlow
4924b11b6b
Additional ruff fixes
2023-04-14 01:25:16 -07:00
James R. Barlow
9b8d14d16e
Accept most of ruff's delinting
2023-04-14 00:45:34 -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
17a5b8b43c
Refactor reporting of optimization failures
2022-06-13 01:30:15 -07:00
James R. Barlow
685a06c93d
Move optimize into a builtin plugin
2022-06-12 02:23:13 -07:00
James R. Barlow
b17fb61389
Configure pylint in pyproject and delint
2022-06-12 00:30:44 -07:00
James R. Barlow
d640c2ded3
Tidy some if condition -> EAFP
2022-06-11 00:21:21 -07:00
James R. Barlow
3546479658
optimize: don't deflate JPEGs with fancy DecodeParms settings
...
This is overly cautious but will do for now.
2022-02-18 23:36:53 -08:00
James R. Barlow
514038d4ec
optimize: recognize and produce [/FlateDecode /DCTDecode] images
2022-02-08 00:38:08 -08:00
James R. Barlow
50d76e7f6c
optimize: remove comment about issue in Pillow that is now fixed
2022-02-07 22:18:20 -08:00
James R. Barlow
6c78a46285
optimize: remove inaccurate about ICCs
...
pikepdf will now get the ICC profile out and put it in the JPEG.
2022-02-07 19:42:13 -08:00
James R. Barlow
863d560632
optimize: clarify log message about skipping images with multiple filters
2022-02-06 22:41:10 -08:00
James R. Barlow
93cca42e20
optimize: don't try to optimize an image we can't save
2022-01-25 00:19:23 -08:00
James R. Barlow
2d0ac4707c
Use better img2pdf settings where possible while supporting old versions
...
Fixes #894
2022-01-14 11:55:54 -08:00
Anton Gladky and GitHub
5acbd7a252
Wrap exception on non-CMYK images into the log warning ( #881 )
2021-12-29 01:15:49 -08:00
James R. Barlow
3810e576ff
optimize: fix mypy lint
2021-11-13 14:48:00 -08:00
James R. Barlow
42bf5476dd
optimize: replace leptonica compdata with direct insert of JPEG
...
Confirmed that img2pdf just inserts JPEG verbatim. Never had to go through
the trouble we did.
2021-11-12 23:20:49 -08:00
James R. Barlow
1c4d5d79f7
Improve some error messages
2021-10-28 01:16:22 -07:00
James R. Barlow
690f88119d
Fix test failures on pikepdf 3.2.0 + pybind11 2.8.0
...
When compiled without pybind11 2.8.0, pikepdf supplies a shim to implement
pikepdf._ObjectMapping.values() which has subtly different semantics
from a true dict-like objects; in particular it supports
next(objectmap.values())
where a standard dict requires
next(iter(objectmap.values()).
pybind11 2.8.0 now implements .values() properly, meaning some misuses of
protocol in ocrmypdf fail.
If pybind11 < 2.8.0, pikepdf will
continue to offer its shim. If pybind11 >= 2.8.0, pikepdf does not add its shim.
Consequently no changes were needed in pikepdf.
Closes #843
2021-10-12 13:38:52 -07:00
James R. Barlow
c725bf79da
flake8 delinting
2021-09-21 16:37:03 -07:00
James R. Barlow
9559f76fae
optimize: fix typo in debug msg
2021-09-19 16:31:00 -07:00
James R. Barlow
b4b32a35b5
optimize: fix typing consistency
2021-09-15 00:09:08 -07:00
James R. Barlow
6f9b948064
typing: fix some trivial issues
2021-08-26 23:46:44 -07:00
James R. Barlow
2a09a668f6
Delinting: unused args
2021-04-07 02:18:08 -07:00
James R. Barlow
ec1d585d40
Merge branch 'feature/misc-breaking'
2021-04-01 16:51:04 -07:00
James R. Barlow
a4e1f8e1f3
Merge branch 'feature/lambda'
2021-04-01 16:36:22 -07:00
James R. Barlow
0a42934c08
Exclude Group 3 images from optimization
2021-03-20 23:28:21 -07:00