pdftract/crates
jedarden aedabdb19a feat(pdftract-1c4j2): implement thread info extraction (7.7.1)
Implements Phase 7.7.1: /Threads array discovery + /I thread info
metadata extraction.

Changes:
- Add threads_ref field to Catalog struct and parse /Threads in catalog
- Create threads module with ThreadHeader struct
- Implement discover() function to extract thread metadata
- Handle PDFDocEncoding and UTF-16BE string decoding
- Empty strings return Some("") to distinguish from None

Acceptance criteria:
- Thread with no /I info dict -> title/author/subject/keywords null
- 3 threads with various info configurations
- Thread with no /Title (but /I present)
- Thread missing /F skipped with diagnostic
- UTF-16BE title decoding

Closes: pdftract-1c4j2
2026-05-25 02:38:42 -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 feat(pdftract-5iouh): implement render_blocks layer renderer 2026-05-25 02:27:24 -04:00
pdftract-core feat(pdftract-1c4j2): implement thread info extraction (7.7.1) 2026-05-25 02:38:42 -04:00
pdftract-libpdftract feat(pdftract-3s2i): implement Phase 5.5.2 validation filter 2026-05-24 04:57:17 -04:00
pdftract-py feat(pdftract-2nu0s): implement Python SDK contract conformance 2026-05-24 08:55:11 -04:00