We are using the following code to disable Print option in PDF. Works really well.
PdfReader reader = new PdfReader("my-old-file.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("my-new-file.pdf"));
stamper.setEncryption("my-owner-password".getBytes(), "my-user-password".getBytes(),
PdfWriter.AllowCopy, PdfWriter.STRENGTH40BITS);
stamper.close();
Everything was hunky dory till yesterday. We decided to update PDF Reader version to 9.3 from version 8.2
The print option is not disabled anymore! Looks like this code only works if we have Adobe Acrobat Reader 8 installed. For other versions, it does not disable the copy or print buttons.
Please help.
Thanks
I don't see Adobe simply dropping support for those security flags, but they may have grown weary of STRENGTH40BITS. I suggest you update to STRENGTH128BITS.
That or it's an Adobe Bug.
PS: The latest version of Acrobat is 9.4, you might try that version instead... long odds but worth a shot. 9.3 was a tad flaky.
Sadly, this is all guess-work on my part. Good hunting.
use the following jars:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.3.2</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.47</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk15on</artifactId>
<version>1.47</version>
</dependency>