2010-06-17 104 views
2

我们正在使用以下代码禁用PDF中的打印选项。工作得很好。iText Java disable print pdf

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(); 

直到昨天一切都是h d。我们决定从版本8.2更新PDF Reader版本到9.3 打印选项不再被禁用!看起来这个代码只有在安装了Adobe Acrobat Reader 8的情况下才有效。对于其他版本,它不会禁用复制或打印按钮。

请帮忙。
谢谢

回答

1

我没有看到Adobe简单地放弃对这些安全标志的支持,但他们可能已经厌倦了STRENGTH40BITS。我建议你更新到STRENGTH128BITS。

这或它是一个Adobe Bug。

PS:最新版本的Acrobat是9.4,你可以尝试这个版本,而不是...很长的几率,但值得一试。 9.3是一片片状。

不幸的是,这完全是我的猜测。好狩猎。

0

使用下面的罐子:

<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>