Add call-site diagnostic emission for DCTDecode SOI/EOI marker validation. Previously, DCTDecoder.validate_markers() created diagnostics but they were dropped because StreamDecoder trait doesn't support returning them. Now diagnostics are emitted in decode_stream_impl() like JBIG2/JPX/CCITT. Also include source module refactoring: - Add PdfSource adapter trait for source::PdfSource compatibility - Feature-gate http_range module with `remote` feature - Update document.rs to use new source traits Acceptance criteria: - DCTDecode emits STREAM_INVALID_JPEG for missing SOI/EOI markers - JBIG2Decode emits OCR_JBIG2_UNSUPPORTED when full-render disabled - JPXDecode emits OCR_JPX_UNSUPPORTED and validates JP2 magic - CCITTFaxDecode emits OCR_CCITT_UNSUPPORTED when no libtiff Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Bead-Id: pdftract-4xmp6 Bead-Id: pdftract-57np8 Bead-Id: pdftract-3954u
962 B
962 B