You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Adam Nichols (JIRA)" <ji...@apache.org> on 2010/09/02 20:36:54 UTC

[jira] Commented: (PDFBOX-807) NullPointerException in StandardSecurityHandler.java:261

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

Adam Nichols commented on PDFBOX-807:
-------------------------------------

If possible, you should use the latest code from SVN.  I'm using the latest code and I noticed the lines don't match up to your stacktrace.  Also, if you can provide an example file so we can duplicate the issue and debug, that might help us get this resolved.

If your goal is to save an unencrypted PDF, you'll want to call doc.setAllSecurityToBeRemoved(true); before saving.

If your goal is to save the PDF in its encrypted form, then I believe what you have should work.  You call decrypt(String) which calls openProtection() and that should pull get the securityHandler.  In fact, it must be getting a securityHandler, as the following line would throw a NPE if it was null.

I think I'll need an example document to be able to sort this on out.  As far as I can tell, the only times the securityHandler can be modified is in protect() and openProtection().  So I'm not sure what's going on here.  I'm sure a quick trip down debugger lane will shed some light on the problem though.

> NullPointerException in StandardSecurityHandler.java:261
> --------------------------------------------------------
>
>                 Key: PDFBOX-807
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-807
>             Project: PDFBox
>          Issue Type: Bug
>          Components: PDModel
>    Affects Versions: 1.2.1
>         Environment: JDK 1.6.0_21, Windows XP 32 Bit.
>            Reporter: Martin Hilpert
>            Priority: Blocker
>
> I like to add text to a PDF and used the example code AddMessageToEachPage.java to do this. I added decryption to support encrypted docs:
>                 doc = PDDocument.load(sourceFile);
>                 if (doc.isEncrypted()) {
>                     doc.decrypt(ownerPwd);
>                 }
> When my document is encrypted, the decryption succeeds without error message, but for such encrypted docs, when callinf doc.save(), a NullPointerException occurs:
> -----------------------------------------
>     java.lang.NullPointerException
>     	at org.apache.pdfbox.pdmodel.encryption.StandardSecurityHandler.prepareDocumentForEncryption(StandardSecurityHandler.java:261)
>     	at org.apache.pdfbox.pdfwriter.COSWriter.write(COSWriter.java:1013)
>     	at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:911)
>     	at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:892)
> -----------------------------------------------------------------

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.