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

Eric Leleu commented on PDFBOX-1188:
------------------------------------

Hi,

According to the PDF Reference v1.7 a "Metadata  can be stored in a PDF 
document in either of the following ways:
• In a document information dictionary associated with the document 
(Section10.2.1)
• In a metadata stream (PDF 1.4) associated with the document or a component of 
the document (Section 10.2.2)"

So, the fact that the Font MetaData is a dictionnary instead a Stream makes 
invalis  this PDF.

In the PDF/A specification, we can read :
"A conforming file may include any valid PDF Reference feature that is not 
explicitly forbidden bythis part of ISO 19005.ISO 19005. A conforming file may 
include any valid PDF Reference feature that is not explicitly forbidden by 
this part of ISO 19005...
...
NOTE 1 ; A conforming file is not obligated to use any PDF feature other than 
those explicitly required by PDF Reference or this part of ISO 19005"

To my opinion, the patch proposed by Guillaume is the right thing to do.

BR,
Eric
                
> PDStream Exception  when using a Cast
> -------------------------------------
>
>                 Key: PDFBOX-1188
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-1188
>             Project: PDFBox
>          Issue Type: Bug
>          Components: PDModel, Preflight
>            Reporter: William Fausser
>            Assignee: Eric Leleu
>             Fix For: 1.7.0
>
>         Attachments: bill_outPDFA.pdf, font_bad_metadata.patch, test6.pdf
>
>
> For some PDF/A, getDictionaryObject does not return COSStream but other 
> COSDictionary (super class)
> public PDMetadata getMetadata()
> {
>     PDMetadata retval = null;
>     COSStream mdStream = (COSStream)stream.getDictionaryObject( 
> COSName.METADATA );
>     if( mdStream != null )
>     {
>         retval = new PDMetadata( mdStream );
>     }
>     return retval;
> }
> org.apache.pdfbox.cos.COSDictionary cannot be cast to 
> org.apache.pdfbox.cos.COSStream
> at org.apache.pdfbox.pdmodel.common.PDStream.getMetadata(PDStream.java:508)
> at 
> net.padaf.preflight.font.AbstractFontValidator.checkFontFileMetaData(AbstractFontValidator.java:162)
> at 
> net.padaf.preflight.font.Type1FontValidator.checkFontFileElement(Type1FontValidator.java:228)
> at 
> net.padaf.preflight.font.Type1FontValidator.checkFontDescriptor(Type1FontValidator.java:125)
> at 
> net.padaf.preflight.font.SimpleFontValidator.validate(SimpleFontValidator.java:264)
> at 
> net.padaf.preflight.helpers.FontValidationHelper.validateFont(FontValidationHelper.java:107)
> at 
> net.padaf.preflight.helpers.FontValidationHelper.innerValidate(FontValidationHelper.java:90)
> at 
> net.padaf.preflight.helpers.AbstractValidationHelper.validate(AbstractValidationHelper.java:87)
> at 
> net.padaf.preflight.AbstractValidator.runValidation(AbstractValidator.java:134)
> at net.padaf.preflight.PdfA1bValidator.validate(PdfA1bValidator.java:90)
> at net.padaf.preflight.Validator_A1b.main(Validator_A1b.java:47)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to