pdfbox-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tilman Hausherr (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PDFBOX-4292) Validation fails if ModifyDate and ModDate are specified using different time zones
Date Wed, 22 Aug 2018 18:33:00 GMT

    [ https://issues.apache.org/jira/browse/PDFBOX-4292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16589229#comment-16589229

Tilman Hausherr commented on PDFBOX-4292:

One reason that the tests fail with your change is that the milliseconds is lost in the COS
conversion but not in the xmp conversion. So the test needs to be changed.

> Validation fails if ModifyDate and ModDate are specified using different time zones
> -----------------------------------------------------------------------------------
>                 Key: PDFBOX-4292
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4292
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Preflight
>    Affects Versions: 2.0.11
>            Reporter: Alonso Gonzalez
>            Priority: Major
>         Attachments: Test 2.pdf
> I have a test PDF with this metadata:
> {quote}/ModDate (D:20180817115837+02'00')
>  <xmp:ModifyDate>2018-08-17T09:58:37Z</xmp:ModifyDate>
> {quote}
> According to the specification this is valid and should be considered as equivalent:
> {quote}For properties that map between the PDF date type, defined by PDF
> Reference, 3.8.2, and the XMP Date type, defined by Date and Time Formats, value equivalence
shall be on a
> component-by-component basis, relative to Coordinated Universal Time (UTC), i.e., correcting
for local time
> zone offset.
> EXAMPLE The document information dictionary entries:
> /CreationDate (D:20040402)
> /ModDate (D:200404080+91132-05'00')
> are equivalent to the XMP properties:
> <xmp:CreateDate>2004-04-02</xmp:CreateDate>
> <xmp:ModifyDate>2004-04-08T14:11:32Z</xmp:ModifyDate>
> {quote}
> In org.apache.pdfbox.preflight.metadata.SynchronizedMetaDataValidation#analyzeModifyDateProperty
the calendar objects are formatted as strings and then compared:
> {code:java}
> else if(!DateConverter.toISO8601(xmpModifyDate).equals(DateConverter.toISO8601(modifyDate)))
>   ve.add(this.unsynchronizedMetaDataError("ModificationDate"));
> }
> {code}
> In my testcase DateConverter.toISO8601(modifyDate) yields "2018-08-17T11:58:37+02:00"
while DateConverter.toISO8601(xmpModifyDate) yields "2018-08-17T09:58:37+00:00". These timestamps
are semantically equal (xmpModifyDate.compareTo(modifyDate) yields 0) and therefore the PDF
should be considered as valid PDF-A1b.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org

View raw message