pdftract/crates
jedarden 4ba4687a36
Some checks are pending
Schema Generation Validation / Validate JSON Schema (push) Waiting to run
Schema Generation Validation / Validate JSON Syntax (push) Waiting to run
feat(pdftract-36glh): implement JPXDecode passthrough with JP2 validation
Implements JPEG2000 (JPX) passthrough filter per Phase 1.5:

- JP2 box magic validation (12-byte signature check)
- STREAM_INVALID_JPX diagnostic for raw J2K/corrupt data
- OCR_JPX_UNSUPPORTED diagnostic when full-render+libopenjp2 unavailable
- Runtime libopenjp2 detection (pkg-config + ldconfig fallback)
- Passthrough behavior (raw bytes unchanged)

Module: crates/pdftract-core/src/decoder/jpx.rs
Stream integration: JpxStreamDecoder in parser/stream.rs

Acceptance criteria:
- JP2-wrapped JPX with full-render → passthrough, no diagnostic
- JP2-wrapped JPX without full-render → OCR_JPX_UNSUPPORTED
- Raw J2K codestream → STREAM_INVALID_JPX + passthrough
- Round-trip test coverage (unit tests validate JP2 signature)

Per plan EC-12: emits diagnostic when neither full-render nor
libopenjp2 is available, alerting Phase 5.2 OCR pipeline.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-05-28 05:11:19 -04:00
..
pdftract-cer-diff docs(pdftract-aawrz): add LICENSE-MIT and LICENSE-APACHE files 2026-05-23 10:36:28 -04:00
pdftract-cli fix(pdftract-3954u): make map_error_to_exit_code public in hash module 2026-05-28 04:44:45 -04:00
pdftract-core feat(pdftract-36glh): implement JPXDecode passthrough with JP2 validation 2026-05-28 05:11:19 -04:00
pdftract-libpdftract feat(pdftract-3s2i): implement Phase 5.5.2 validation filter 2026-05-24 04:57:17 -04:00
pdftract-py fix(pdftract-63ka2): AES-128 test buffer allocation for PKCS#7 padding 2026-05-28 01:30:33 -04:00