java对word、Excel、PPT、PDF文件加密

10 篇文章 0 订阅

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();
        }
    }

}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用iText库可以将本地的Word文件转换为PDF。首先,你需要准备好iText库的依赖。然后,你可以使用以下代码来实现转换: ```java import com.itextpdf.text.Document; import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.text.Paragraph; import java.io.FileInputStream; import java.io.FileOutputStream; public class WordToPdfConverter { public static void main(String\[\] args) { try { // 读取Word文件 FileInputStream fis = new FileInputStream("path/to/word.docx"); // 创建PDF文件 Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("path/to/output.pdf")); document.open(); // 将Word文件内容写入PDF document.add(new Paragraph("Hello, World!")); // 关闭文件流 document.close(); writer.close(); fis.close(); System.out.println("Word文件转换为PDF成功!"); } catch (Exception e) { e.printStackTrace(); } } } ``` 请注意,上述代码只是一个简单的示例,你需要根据实际情况进行修改。你需要将"path/to/word.docx"替换为你的本地Word文件的路径,将"path/to/output.pdf"替换为你希望生成的PDF文件的路径。你还可以根据需要添加更多的内容到PDF文件中。 希望这个例子能帮到你! #### 引用[.reference_title] - *1* *3* [java使用poi、itextpdfwordppt转为pdf文件,并对pdf文件加盖签章](https://blog.csdn.net/m0_67394002/article/details/126032678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Java实现PDF生成(Word文档转Pdf)](https://blog.csdn.net/zxy855/article/details/122495989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值