这里我们使用docx4j 进行加密。要进行加密的文件为office 套件生成的文件,即文件名后缀有x的,比如pptx,docx,xlsx等。
导入pom 依赖。
<dependency><groupId>org.docx4j</groupId><artifactId>docx4j-core</artifactId><version>8.2.0</version></dependency><dependency><groupId>org.docx4j</groupId><artifactId>docx4j-JAXB-ReferenceImpl</artifactId><version>8.2.0</version></dependency>
Java 代码:
public static void encrypt(InputStream is , OutputStream os , String password) throws Docx4JException {OpcPackage pkg = DefaultPackage.load(is, password);pkg.save(os, Docx4J.FLAG_SAVE_ENCRYPTED_STANDARD, password);}
Java代码比较简单,如果需要进行其他操作,比如说添加水印,设置隐藏信息,需要初始化对应的OpcPackage子类