admin管理员组文章数量:1589660
java对word、Excel、PPT、PDF文件加密
所需依赖:Spire.Office.jar
说明:该解决方案使用spire.office(免费版)该版本有使用限制谨慎使用对于小文件来说足够了
package com.zxl.demo.encrypt;
import com.spire.doc.Document;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.security.PdfEncryptionKeySize;
import com.spire.pdf.security.PdfPermissionsFlags;
import com.spire.presentation.FileFormat;
import com.spire.presentation.Presentation;
import com.spire.xls.Workbook;
import java.util.EnumSet;
/**
* @Describe: 文件加密工具类
* @Author: zml
* @Date: 2020-5-6 15:53:01
*/
public class OfficeEncrypyUtils {
public static void main(String[] args) {
String filePath = "D:\\liang\\office加密\\xls加密-前.xls";
String savePath = "D:\\liang\\office加密\\xls加密-后.xls";
String password = "123";
// wordEncrypt(filePath,savePath,password);
// excelEncrypt(filePath,savePath,password);
// pdfEncrypt(filePath,savePath,password);
excelEncrypt(filePath,savePath,password);
}
/**
* 对word文件加密
*/
private static void wordEncrypt(String filePath, String savePath, String password){
try{
Document document = new Document();
document.loadFromFile(filePath);
document.encrypt(password);
document.saveToFile(savePath);
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 对excel文件加密
*/
private static void excelEncrypt(String filePath, String savePath, String password){
try{
Workbook workbook = new Workbook();
workbook.loadFromFile(filePath);
workbook.protect(password);
workbook.saveToFile(savePath);
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 对pdf文件加密
*/
private static void pdfEncrypt(String filePath, String savePath, String password){
try{
PdfDocument pdfDocument = new PdfDocument();
pdfDocument.loadFromFile(filePath);
//对文件进行加密
PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;
String openPassword = "e-iceblue";
EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields);
pdfDocument.getSecurity().encrypt(openPassword, password, flags, keySize);
//保存文件
pdfDocument.saveToFile(savePath);
pdfDocument.close();
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 对ppt文件加密
*/
private static void pptEncrypt(String filePath, String savePath, String password){
try{
Presentation presentation = new Presentation();
presentation.loadFromFile(filePath);
//设置密码
presentation.encrypt(password);
//保存文档
presentation.saveToFile(savePath, FileFormat.PPT);
}catch (Exception e){
e.printStackTrace();
}
}
}
版权声明:本文标题:java对word、Excel、PPT、PDF文件加密 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728074270a1144284.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论