[
https://issues.apache.org/jira/browse/PDFBOX-1872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887231#comment-13887231
]
Pat Hickey commented on PDFBOX-1872:
------------------------------------
Forget that workaround - I was looking at the wrong document. It ends up with
the encrypted data, as well.
> 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)