Hello,
I have a PDF document that, depending on veraPDF version, either passes or fails conformance checks for PDF/A-1b.
The file is publicly available being a doctoral dissertation:
http://uu.diva-portal.org/smash/record.jsf?pid=diva2%3A280958&dswid=836http://uu.diva-portal.org/smash/get/diva2:280958/FULLTEXT02.pdf
With veraPDF 1.14.8 and later, this file passes the conformance check for PDF/A-1b, but it fails with veraPDF 1.12.1 and earlier with the following error message:
<validationReport profileName="PDF/A-1B validation profile" statement="PDF file is not compliant with Validation Profile requirements." isCompliant="false">
<details passedRules="102" failedRules="1" passedChecks="65345" failedChecks="1">
<rule specification="ISO 19005-1:2005" clause="6.1.12" testNumber="2" status="failed" passedChecks="0" failedChecks="1">
<description>Absolute real value must be less than or equal to 32767.0</description>
<object>CosReal</object>
<test>(realValue >= -32767.0) && (realValue <= 32767.0)</test>
<check status="failed">
<context>root/document[0]/OpenAction[0](156 0 obj PDGoToAction)/D[0]</context>
</check>
</rule>
</details>
</validationReport>
Release details for core, validation model and gui are all 1.12.1
In contrast, for example, veraPDF 1.18.6 prints:
<report>
<buildInformation>
<releaseDetails id="core" version="1.18.11" buildDate="2021-04-19T10:21:00+02:00"></releaseDetails>
<releaseDetails id="validation-model" version="1.18.8" buildDate="2021-04-19T10:35:00+02:00"></releaseDetails>
<releaseDetails id="gui" version="1.18.6" buildDate="2021-04-27T08:53:00+02:00"></releaseDetails>
</buildInformation>
<jobs>
<job>
<item size="4458678">
<name>/tmp/pdf/oaiDiVAorguu-111393.pdf</name>
</item>
<validationReport profileName="PDF/A-1B validation profile" statement="PDF file is compliant with Validation Profile requirements." isCompliant="true">
<details passedRules="101" failedRules="0" passedChecks="65346" failedChecks="0"></details>
</validationReport>
<duration start="1649428145077" finish="1649428146991">00:00:01.914</duration>
</job>
</jobs>
<batchSummary totalJobs="1" failedToParse="0" encrypted="0">
<validationReports compliant="1" nonCompliant="0" failedJobs="0">1</validationReports>
<featureReports failedJobs="0">0</featureReports>
<repairReports failedJobs="0">0</repairReports>
<duration start="1649428144942" finish="1649428147026">00:00:02.084</duration>
</batchSummary>
</report>
I checked veraPDF-validation-profiles/PDF_A/PDFA-1B.xml and its Git history, but I could not identify any changes to the rules checking floating-point numbers for its range of ±32767 from Table C.1 of Adobe's PDF 1.4 specification.
I used qpdf to extract more information on object 156 where I get the following output:
$ qpdf --json --json-key=objects FULLTEXT02.pdf | grep -A 5 '"156 0 R": {'
"156 0 R": {
"/D": [
"158 0 R",
"/FitH",
-32768
],
So, to my understanding, the numeric value of -32768 is outside of the allowed range and thus veraPDF should reject this PDF file as *not* conforming to PDF/A-1b.
Is there a bug in veraPDF or do I miss something?
Thank you!
Bye,
Thomas