引入itext 包
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.2.0</version>
<type>pom</type>
</dependency>
解密代码如下:
/**
* pdf 复制解密
* @param source 源文件
* @param dest 破译后的文件
* @throws Exception
*/
public static void deCodePdf(String source,String dest) throws Exception{ //不设置用户密码,可直接读取文件
PdfReader reader = new PdfReader(source );
PdfDocument pdfDocument = new PdfDocument(reader);
if(reader.isEncrypted()){
pdfDocument.setCloseReader(true);
pdfDocument.close();
reader = new PdfReader(source);
reader.setUnethicalReading(true);
PdfWriter pdfWriter = new PdfWriter(dest);
pdfDocument = new PdfDocument(reader, pdfWriter);
System.out.println("加密了 需要解密!!!");
pdfDocument.setCloseReader(true);
pdfDocument.setCloseReader(true);
pdfDocument.close();
}else{
System.out.println("no hint,不需要解密");
}
}