java 對PDF文件進行密碼加密
添加 pom 依賴
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13</version>
</dependency>
對pdf文件加密
private static boolean pdfEncrypt(String filePath, String savePath, String password){
try{
com.itextpdf.text.pdf.PdfReader reader = new com.itextpdf.text.pdf.PdfReader(filePath);
com.itextpdf.text.pdf.PdfStamper stamper = new com.itextpdf.text.pdf.PdfStamper(reader, new FileOutputStream(savePath));
// 設置密碼
stamper.setEncryption(password.getBytes(),password.getBytes(), com.itextpdf.text.pdf.PdfWriter.ALLOW_PRINTING, com.itextpdf.text.pdf.PdfWriter.ENCRYPTION_AES_128);
stamper.close();
reader.close();
logger.debug("pdfEncrypt-加密成功");
return true;
}catch (Exception e){
e.printStackTrace();
logger.error("對【{}】文件加密處理異常:{}",filePath,e.getMessage());
return false;
}
}
main 測試
public static void main(String[] args) {
String filePath = "D:\\liang/office加密/pdf加密-前-1.pdf";
String savePath = "D:\\liang/office加密/pdf加密-後-1.pdf";
String password = "123";
pdfEncrypt(filePath,savePath,password);
}
加密示例