jhove
jhove copied to clipboard
Malformed Dictionary?
Jhove says "Malformed dictionary: Vector must contain an even number of objects; but has 17" with offset 126910 (does that mean from the start?) which points into this Dictionary:
<</CreationDate(D:20210129101650+01'00')/ModDate(D:20210129101650+01'00')/Producer(iText® 7.1.9 ©2000-2019 iText Group NV \(AGPL-version\))/Title(þÿ\000G\000M\000S\000 \000|\000 \000J\000a\000h\000r\000e\000s\000t\000a\000g\000u\000n\000g\000 \000d\000e\000r\000 \000G\000e\000s\000e\000l\000l\000s\000c\000h\000a\000f\000t\000 \000f\000ü\000r\000 \000M\000e\000d\000i\000z\000i\000n\000i\000s\000c\000h\000e\000 \000A\000u\000s\000b\000i\000l\000d\000u\000n\000g\000 \000\(\000G\000M\000A\000\)\000 \000|\000 \000G\000M\000A\000 \0002\0000\0001\0006\000 \000S\000t\000a\000r\000t\000s\000e\000i\000t\000e)/dc.format(text/html)/dc.language(de)>>
see the PDF here: gma2016_de.pdf (generated via iText)
here, the Keys and values are formatted as /key(value) with escaped parantheses inside the value - so the even number is somehow given. I just don't know if this is okay to do so. Where is defined which keys can be used and which argument they expect and how they expect them to be written?
I have been curious about the offset as well, it doesn't seem to be the accurate location especially with compression. My experience with this malformed dictionary error refers more to the annotations/bookmarks in a PDF. I see if often with non-Latin characters which your sample has.
Would love more clarification on this part of JHOVE.
+1 on the offset issue. I've found cases where it didn't even report the offset within the problematic object. Have a related feature request here asking to include the object-ID as an additional output.
Regarding the Malformed Dictionary Issue - have a lot of those as well and will dig around a bit and come back.