You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Tilman Hausherr (JIRA)" <ji...@apache.org> on 2014/08/27 20:11:57 UTC

[jira] [Commented] (PDFBOX-2292) Saving of decrypted version of password protected document gives an error

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

Tilman Hausherr commented on PDFBOX-2292:
-----------------------------------------

Just a thought without testing your code, because there's a similar issue: please do pd.getDocumentCatalog() before saving.

> Saving of decrypted version of password protected document gives an error
> -------------------------------------------------------------------------
>
>                 Key: PDFBOX-2292
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2292
>             Project: PDFBox
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>         Environment: JDK 1.6
>            Reporter: v gangolli
>         Attachments: Sample_Owner_pwd_protected.pdf
>
>
> For a  sample owner-password-protected pdf that I can decrypt and save to another file in Pdfbox 1.8.5, however, in the  2.0.0 build created using the repository  checked out of svn, I get an exception while saving.
> java.io.IOException: Cannot save a document which has been closed
> 	at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1229)
> 	at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1215)
> 	at org.apache.pdfbox.pdmodel.PDDocument.save(PDDocument.java:1203)
> The code snippet is as follows-
> {code}
> pd = PDDocument.load(is);
> if (pd.isEncrypted()) {
>   try {
> 	  pd.decrypt("");
> 	  pd.setAllSecurityToBeRemoved(true);
>           fNameStr = fName.substring(0, fName.lastIndexOf('.'))
> 							+ "_new.pdf";
>           System.out.println(pd.getCurrentAccessPermission()
> 	   pd.save(fNameStr);  // java.IOException at this line
> 	} catch (Exception e) {
> 		e.printStackTrace();
> 	} finally {
>                        pd.close();
> 			if (is != null) {
> 			  is.close();
> 			}
> 					
> 	}
> {code}
> 			



--
This message was sent by Atlassian JIRA
(v6.2#6252)