2010-06-17 114 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>