I'm not sure that I know enough about PDF encryption and how PDFBox 
decrypts files to be of much more help here.  A NullPointerException 
should be easy to track down though.  About the only workaround I can 
think of would be to open & remove all encryption, save, open unencrypted 
file and do what you need to do.  Of course, this would be a performance 
hit, but it's a quick & dirty solution which might be good enough to get 
you by for now.  I've never wanted to open an encrypted PDF and then save 
it without stripping out the encryption, so I don't know much about saving 
encrypted PDFs.  Trace through the SecurityHandler classes, and hit the 
PDF reference from Adobe.  That's your best bet.

Good luck,
Adam




"Hesham G." <heshamgne...@gmail.com> 
10/31/2009 02:40
Please respond to
pdfbox-users@incubator.apache.org


To
<pdfbox-users@incubator.apache.org>
cc

Subject
Re: PDF Permissions






Hi ,

Thanks for your help Adam.

Today I have tried to change the permissions of my PDF, and your code 
worked 
fine ... I access the PDF using 'Owner Password'.
My problem is I want to write to the encrypted PDF ... This works fine, 
until the line of saving the PDF, I get this Exception :

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
                 at 
org.apache.pdfbox.pdmodel.encryption.StandardSecurityHandler.prepareDocumentForEncryption(StandardSecurityHandler.java:261)
                 at 
org.apache.pdfbox.pdfwriter.COSWriter.write(COSWriter.java:1002)


This exception just appears even if I don't write anything in the PDF ... 
Just when I try to save it, ex :
pdfFile = PDDocument.load( file );  // Open this pdf to edit.// Decrypt 
the pdf if it's encrypted :
if( pdfFile.isEncrypted() ) {                StandardDecryptionMaterial dm 
= new StandardDecryptionMaterial( "1234" );
                 pdfFile.openProtection( dm );
}

pdfFile.save( file );  // Exception here.
pdfFile.close();


Best regards ,
Hesham

--------------------------------------------------
From: <a...@swmc.com>
Sent: Friday, October 30, 2009 5:53 PM
To: <pdfbox-users@incubator.apache.org>
Cc: <pdfbox-users@incubator.apache.org>
Subject: Re: PDF Permissions

> Here are the basics:
>        PDDocument doc = null;
>        try {
>            doc = PDDocument.load(someFile);
>            StandardDecryptionMaterial sdm = new
> StandardDecryptionMaterial("yourPasswordGoesHere");
>            doc.openProtection(sdm);
>            // use the document like normal
>        } catch(...) {
>            // decryption error
>        } finally {
>            if(doc != null)
>                doc.close();
>        }
>
>
>
>
> "Hesham G." <heshamgne...@gmail.com>
> 10/30/2009 04:37
> Please respond to
> pdfbox-users@incubator.apache.org
>
>
> To
> <pdfbox-users@incubator.apache.org>
> cc
>
> Subject
> Re: PDF Permissions
>
>
>
>
>
>
> I am having problems with encrypted PDFs too. I don't know but I think
> there
> are things wrong with the Encryption / Decryption classes.
>
> Best regards ,
> Hesham
>
>
>
>
> ?  Click here to submit conditions
>
> This email and any content within or attached hereto from  Sun West 
> Mortgage Company, Inc.  is confidential and/or legally privileged. The 
> information is intended only for the use of the individual or entity 
named 
> on this email. If you are not the intended recipient, you are hereby 
> notified that any disclosure, copying, distribution or the taking of any 

> action in reliance on the contents of this email information is strictly 

> prohibited, and that the documents should be returned to this office 
> immediately by email. Receipt by anyone other than the intended 
recipient 
> is not a waiver of any privilege. Please do not include your social 
> security number, account number, or any other personal or financial 
> information in the content of the email. Should you have any questions, 
> please call  (800) 453 7884.   = 



?  Click here to submit conditions  

This email and any content within or attached hereto from  Sun West Mortgage 
Company, Inc.  is confidential and/or legally privileged. The information is 
intended only for the use of the individual or entity named on this email. If 
you are not the intended recipient, you are hereby notified that any 
disclosure, copying, distribution or the taking of any action in reliance on 
the contents of this email information is strictly prohibited, and that the 
documents should be returned to this office immediately by email. Receipt by 
anyone other than the intended recipient is not a waiver of any privilege. 
Please do not include your social security number, account number, or any other 
personal or financial information in the content of the email. Should you have 
any questions, please call  (800) 453 7884.   

Reply via email to