openpreserve / jhove

File validation and characterisation.
http://jhove.openpreservation.org
Other
171 stars 79 forks source link

JHOVE 1.30 / PDF-hul 1.12.5 reports file as "Well-Formed and valid" despite PDF-HUL-1 error #929

Closed Ka-Markus closed 3 months ago

Ka-Markus commented 4 months ago

Same behaviour as https://github.com/openpreserve/jhove/issues/924#issue-2312564297, only error is PDF-HUL-1 instead of PDF-HUL-2.

File to reproduce the issue: https://repository.publisso.de/resource/frl%3A6406767 Leitlinie_Ernaehrung_Mangelernaehrung_Jun_2017.pdf

JHOVE 1.28.0 / PDF-hul, Rel. 1.12.4 reported 40 PDF-HUL-122 errors JHOVE 1.30.0 / PDF-hul, Rel. 1.12.5 reports 1 PDF-HUL-1 error without offset

Please let me know if I should close the issue in case it's redundant.

samalloing commented 4 months ago

Hi @Ka-Markus

Thanks for reporting this. This error is fixed with https://github.com/openpreserve/jhove/pull/925. I hope @Carl can add it to a new release soon.

Sam

carlwilson commented 3 months ago

On this now @samalloing

Ka-Markus commented 3 months ago

Tested validation of file with the new release JHOVE 1.30.1 / PDF-hul, Rel. 1.12.6.

Issue can be closed from my side. Should I close it?

samalloing commented 3 months ago

Hi @Ka-Markus

I looked into your file a little closer and noticed that adding

    } else if (!named && destObj instanceof PdfIndirectObj) {
            _pageDest =  findDirectDest(module, (PdfArray) module.resolveIndirectObject(destObj));
            return;
    }

to the code of jHove makes the file Well-formed and valid. The current implementation doesn't support indirect references at the location on the Destination. I wasn't able to verify it for sure. But adding the above piece of code after https://github.com/openpreserve/jhove/blob/c45fd1cc223af60b94e7c4c198d3f5a512d4d189/jhove-modules/pdf-hul/src/main/java/edu/harvard/hul/ois/jhove/module/pdf/Destination.java#L78 solves the problem

Sam