iText Java disable print pdf

霸气de小男生 提交于 2019-12-24 02:57:22

问题


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


回答1:


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.




回答2:


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>


来源:https://stackoverflow.com/questions/3059434/itext-java-disable-print-pdf

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!