diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java index c83b6776c..9738325ef 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java @@ -17,6 +17,7 @@ import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.io.*; +import java.lang.reflect.Field; @Slf4j public class PDFUtils { @@ -217,7 +218,10 @@ public class PDFUtils { String path = uploadpath + File.separator + fileName; newFilePath = path.replace(fileName, "transformation" + fileName); reader = new PdfReader(byes); - + //解密文件 + Field f = PdfReader.class.getDeclaredField("ownerPasswordUsed"); + f.setAccessible(true); + f.set(reader, Boolean.TRUE); // 加完水印的文件 os = new FileOutputStream(newFilePath); stamper = new PdfStamper(reader, os); @@ -286,6 +290,11 @@ public class PDFUtils { e.printStackTrace(); log.error(e.getMessage()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + log.error(e.getMessage()); + }catch (NoSuchFieldException e) { + e.printStackTrace(); } finally { try { stamper.close();