mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-02 22:41:47 -06:00
Storing LZW streams with Flate decoded image streams outside the allowance, with a limit for each stream and no total, and nothing asked whether to go on: a 593 KB file of 100 images took 113 s with none refused, and images refused by the image pass were still rewritten. The pass now pays for what it decodes and for storing and checking it, at 8 steps a byte since Flate takes up to 78 ns a byte, and streams past that stay LZW. An image is counted as refused only when it stayed as it was: one packed before the allowance ran out on its second read was rewritten. doc_reduce reports images_refused as doc_optimize does, and the app's action says so in its log. A refused image no longer reads as an unsupported filter: FilterError::Spent says what happened. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AmsdeUCdTaD72jkDw2pJKY