2010-01-09 600 views
2

我們有使用密碼保護PDF文件的要求。是否有任何基於Java的開源工具可以幫助我們解決這方面的問題?PDF文件的密碼保護

回答

3

我會建議使用iText的Java PDF庫。

iText裏面有一個叫PdfEncrypter的類,它應該讓你密碼保護一個PDF文件。

+0

我無法訪問這個鏈接似乎已經停止了很長時間 – Joe 2010-01-09 12:06:04

+0

如果您在訪問主iText網站時遇到問題,您還可以從sourceforge下載代碼: http://sourceforge.net/projects/itext/ – 2010-01-09 21:55:10

0
+0

對於現有的PDF或您目前正在創建的PDF? – 2010-01-09 10:07:03

+0

鏈接中的示例適用於您當前正在創建的文件,並且我認爲它適用於其他現有PDF。 Joshua沒有提到他需要加密的環境。 – 2010-01-09 14:16:51

2

您可以輕鬆地在Java中的密碼保護的PDF文件......這樣做,你將需要兩個addtional JAR/lib目錄bctsp-jdk16 -1.46.jar和bcprov-jdk16-1.46.jar以及itextpdf-5.2.1.jar。
從這裏下載Download Jars

而且下面的所有罐子是代碼

private static String USER_PASSWORD = "password"; 
private static String OWNER_PASSWORD = "naveen"; 
public static void main(String[] args) throws IOException { 

    Document document = new Document(); 
     try 
     { 

     PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("E:\\HelloWorld.pdf")); 
     writer.setEncryption(USER_PASSWORD.getBytes(),OWNER_PASSWORD.getBytes(), PdfWriter.ALLOW_PRINTING,PdfWriter.ENCRYPTION_AES_128); 
     document.open(); 
     document.add(new Paragraph("This is Password Protected PDF document.")); 
     document.close(); 
     writer.close(); 
     } catch (DocumentException e) 
     { 
     e.printStackTrace(); 
     } catch (FileNotFoundException e) 
     { 
     e.printStackTrace(); 
     } 
}