Pat Hickey created PDFBOX-1872:
----------------------------------

             Summary: PDMetadata.exportXMPMetadata fails when Metadata has 
encrypted stream
                 Key: PDFBOX-1872
                 URL: https://issues.apache.org/jira/browse/PDFBOX-1872
             Project: PDFBox
          Issue Type: Bug
          Components: JempBox, PDModel
    Affects Versions: 1.8.3
         Environment: Not sure it matters, but Solaris (SunOS 5.10), java 
1.6.0_19,
            Reporter: Pat Hickey
            Priority: Minor


My guess is that PDDocumentCatalog.getMetadata() gives PDMetadata the raw 
stream, instead of the filtered one. Then PDMetadata.exportXMPMetadata() calls 
XMPMetadata.load(), which cannot parse the encrypted stream.  
As a workaround, this seems to do the trick (where document is the PDDocument 
loaded from the PDF):
    String content = null;
    COSStream md = 
(COSStream)document.getDocument().getCatalog().getDictionaryObject( 
COSName.METADATA );
    if ( md != null ) {
        PDStream pd = new PDStream( md );
        content = pd.getInputStreamAsString();
    }




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to