Some PDFs use a /Name dictionary key in /DocumentInfo whose bytes are not valid UTF-8/PDFDocEncoding, e.g. a Latin-1 /Saks#e5r. Older pikepdf raised UnicodeDecodeError while iterating such a block, crashing the pipeline during PDF/A conversion. repair_docinfo_nuls is documented to log and continue on a malformed DocumentInfo block, so catch UnicodeDecodeError alongside TypeError. Add a mock-based unit test that drives the decode-error branch (current pikepdf surrogate-escapes instead of raising) and an end-to-end test over the reporter's file, committed as docinfo_latin1_key.pdf.
903 B
903 B