James R. Barlow
ea7ad7d683
Handle non-UTF-8 DocumentInfo keys in repair_docinfo_nuls ( closes #1540 )
...
Some PDFs use a /Name dictionary key in /DocumentInfo whose bytes are not
valid UTF-8/PDFDocEncoding, e.g. a Latin-1 /Saks#e5r. Older pikepdf raised
UnicodeDecodeError while iterating such a block, crashing the pipeline
during PDF/A conversion. repair_docinfo_nuls is documented to log and
continue on a malformed DocumentInfo block, so catch UnicodeDecodeError
alongside TypeError.
Add a mock-based unit test that drives the decode-error branch (current
pikepdf surrogate-escapes instead of raising) and an end-to-end test over
the reporter's file, committed as docinfo_latin1_key.pdf.
2026-06-27 01:50:58 -07:00
James R. Barlow
c5d3ef4b17
Tighten ruff rules and modernize style
2026-01-27 14:04:52 -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
62ad37b276
refactor: centralize plugin manager setup
...
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
42891346d1
fix: update test files to use new get_options_and_plugins function
...
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
6851ea7f11
Remove test since ghostscript error handling changed
2025-04-21 12:23:34 -07:00
James R. Barlow
065bddbc6c
Reformat with ruff format
2024-04-07 00:25:32 -07:00
James R. Barlow
82bef40aa6
Eliminate more run_ocrmypdf calls
2023-10-24 00:54:31 -07:00
James R. Barlow
1a7738a925
Refactor -migrate metadata repair to new module
2023-10-24 00:54:30 -07:00
James R. Barlow
10530a8698
Change Ghostscript version skip to fail
...
Reported to fail on earlier versions than the check tested for.
2023-09-26 20:02:52 -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
8fcf358934
Rename pike local variable to pdf for consistency
2023-09-25 00:22:26 -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
6b6c34af01
Fix test artifact generated incorrectly
...
Test still passed either way
2023-09-20 15:20:13 -07:00
James R. Barlow
e3c813fc67
Added support for changing color conversion strategy
2023-09-20 01:08:15 -07:00
050dd1f5a8
Allow title, subject, author, and keywords to be unset with an empty string argument ( #1117 )
...
Co-authored-by: Frederick D. Hansen <frederick.hansen@gmail.com >
2023-06-20 01:07:23 -07:00
James R. Barlow
05ecb6ca46
Resolve Windows errors with -dPDFSTOPONERROR
2023-06-02 02:48:38 -07:00
James R. Barlow
0a7b60cda5
Fix error on metadata block
2023-06-02 02:47:41 -07:00
James R. Barlow
b2e6a6431e
Tidy use of pikepdf.open without with
2023-04-15 20:17:44 -07:00
James R. Barlow
9ff1e56bf6
Tidy test_metadata - importorskip idiom
2023-04-15 17:56:13 -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
4104904a1e
Document reason for suppress some third party deprecation warnings
2022-08-04 04:13:02 -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
13d11e76e5
optimize plugin: solve linearization and "is optimization enabled?" issues
2022-06-13 00:59:41 -07:00
James R. Barlow
b17fb61389
Configure pylint in pyproject and delint
2022-06-12 00:30:44 -07:00
James R. Barlow
0ac15dd0b2
Suppress libxmp DeprecationWarning during test
2022-06-01 00:46:16 -07:00
James R. Barlow
b00fe3dc5d
pytest.skip() - remove kwarg entirely, to avoid breaking older pytest and not getting warns from newer pytest
2022-04-14 20:15:00 -07:00
James Barlow
f29fe7f23e
Fix Pillow deprecation warnings
2022-04-03 13:30:50 -07:00
James R. Barlow
13af3252ff
tests: simplify run_ocrmypdf API
2021-12-06 17:00:25 -08:00
James R. Barlow
f51164aff8
Upgrade test version of pymupdf
2021-11-13 00:53:41 -08:00
James R. Barlow
6f58a14351
pdfa: remove deprecated pkg_resources based access and tests
2021-11-13 00:52:03 -08:00
James R. Barlow
7ba04267b1
Remove shims to support for old versions of pikepdf < 4
2021-11-13 00:43:20 -08:00
James R. Barlow
c725bf79da
flake8 delinting
2021-09-21 16:37:03 -07:00
James R. Barlow
e788dde607
tests: eliminate unnecessary mmap
2021-04-07 02:11:31 -07:00
James R. Barlow
aa115a8be3
Remove pytest_helpers_namespace
2021-04-07 01:56:51 -07:00
James R. Barlow
72fa347c38
tests: skip metadata test for two pikepdf versions that warn incorrectly
2020-12-29 01:47:52 -08:00
James R. Barlow
babc76fa74
tests: assert that most patched functions are called
...
We were not actually checking if functions we patched we called when
expected.
2020-12-28 23:58:33 -08:00
James R. Barlow
3707af3b74
Change pdf.root to pdf.Root
2020-11-03 01:30:31 -08: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
ebfe4f0d29
Fix issue #582 - PDF/A acquires title "Untitled" after conversion
2020-06-20 02:01:16 -07:00
James R. Barlow
7b9025f397
Convert generate_pdfa to plugin
2020-06-08 22:28:38 -07:00
James R. Barlow
b109445215
Move Ghostscript rasterize_pdf to plugin
2020-06-08 17:10:27 -07:00
James R. Barlow
1598f2f0e5
Abolish spoof_tesseract_noop
2020-06-01 03:07:53 -07:00
James R. Barlow
9af94ac9b7
pipeline: use OCR engine abstraction instead of Tesseract
2020-05-16 01:28:56 -07:00
James R. Barlow
977665d2b6
Delint some tests
2020-05-08 03:49:33 -07:00
James R. Barlow
c85278b31d
Delinting
2020-05-03 00:53:29 -07:00
James R. Barlow
5dbc080fa0
Rename PDFContext->PdfContext
2020-05-02 04:32:46 -07:00