You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@pdfbox.apache.org by Sylvain Lemasson <sy...@yahoo.fr> on 2008/12/02 22:30:24 UTC
Permission in pdf box
Hello,
I would like to fill a form in a pdf, then to avoid people to change this form.
To test it I have change the class SetField in such away:
pdf = PDDocument.load( args[0] );
example.setField( pdf, args[1], args[2] );
AccessPermission permission = new AccessPermission();
permission.setCanFillInForm(false);
permission.setCanModify(false);
StandardProtectionPolicy pp = new StandardProtectionPolicy("test","test1",permission);
pdf.protect(pp);
pdf.save( args[0].substring(0,args[0].length()-4).concat("2.pdf") );
Main problem is that the new pdf generated can be modify and the form can be edit even if I enter the password "test1" for user. May be I do something wrong. If someone can help, I will enjoy the answer.
Also I notice that if I add the following code after saving the pdf, it print true all time that means no permission is set. It seems that there is already a bug in jira for this.
try {
pdf = PDDocument.load(args[0].substring(0,args[0].length()-4).concat("2.pdf") );
AccessPermission permission=pdf.getCurrentAccessPermission();
System.out.println(permission.isOwnerPermission());//print true (do not know what is expected)
System.out.println(permission.canFillInForm());//print true (do not know what is expected)
pdf.decrypt("test1");
System.out.println(permission.isOwnerPermission());//print true (expected false)
System.out.println(permission.canFillInForm());// print true (expected false)
pdf.close();
}catch (Exception e) {
e.printStackTrace();
}
Thank you.
<em>Sylvain</em>