- StreamDecoder trait with decode() method for filter-specific decoding - Per-filter implementations: FlateDecoder, ASCII85Decoder, ASCIIHexDecoder, PassthroughDecoder - decode_stream() function with single and array filter handling - Filter abbreviation normalization (/A85 -> ASCII85Decode, /Fl -> FlateDecode) - ExtractionOptions with max_decompress_bytes (default 2 GB) - Document-level decompression counter with chunked bomb limit checking - Unknown filter returns raw bytes with STRUCT_UNKNOWN_FILTER diagnostic - All 183 tests pass Acceptance criteria: - decode_stream() handles single-filter and array-filter cases: PASS - /DecodeParms array correctly paired with /Filter array: PASS - Critical test [/ASCII85Decode /FlateDecode] applies filters in order: PASS - Filter abbreviations normalized: PASS - 2 GB bomb limit with STREAM_BOMB diagnostic: PASS - Unknown filter passthrough with STRUCT_UNKNOWN_FILTER: PASS - INV-8 maintained (no panics, partial bytes on error): PASS Co-Authored-By: Claude Code <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| pdftract-1bn.md | ||
| pdftract-1wqec.md | ||
| pdftract-1yad.md | ||
| pdftract-2bsfc.md | ||
| pdftract-3nnqy.md | ||
| pdftract-4hn1.md | ||
| pdftract-4iier.md | ||
| pdftract-5z5d8.md | ||
| pdftract-7nav.md | ||
| pdftract-147a.md | ||