Java 操作PPT數字簽名(一):添加、檢測、刪除簽名


本文簡要概述如何通過Java程序來處理PPT中的數字簽名,文章主要分三個部分來介紹,即數字簽名的添加、檢測以及刪除。

基本操作思路:

1. 添加簽名:【加載PPT文檔】→【添加簽名】→【保存文檔】

2. 檢測簽名:【加載PPT文檔】→【判定是否簽名】→【輸出判定結果】

3. 刪除簽名:【加載PPT文檔】→【判定是否簽名】→【刪除簽名】→【保存文檔】

Jar包引入:使用Spire.Presentation.jar 4.3.2版本,這里引入的是試用版的jar,程序中使用了臨時授權文件,所以在結果文檔中沒有水印信息(經過測試,該功能在免費版中暫不支持,所以采用試用版)。Jar文件引入,可下載jar包,解壓,手動將lib文件夾下的jar文件引入程序;或通過Maven倉庫路徑來引入(需配置pom.xml文件)。

 

Java代碼操作如下

1.添加簽名

import com.spire.presentation.*;
import java.util.Date;

public class AddSignature {
    public static void main(String[] args)throws Exception {
        //加載PPT文檔
        Presentation ppt = new Presentation();
        ppt.loadFromFile("test.pptx");

        //添加數字簽名
        ppt.addDigitalSignature("cer.pfx", "123654yes!","The Author is Mia", new Date());

        //保存文檔
        ppt.saveToFile("AddSignature.pptx",FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

 

 

2. 判斷文檔是否簽名

import com.spire.presentation.*;

public class VerifySignature {

    public static void main(String[] args) throws Exception{

        //加載用於測試的PPT文檔
        Presentation ppt = new Presentation();
        ppt.loadFromFile("AddSignature.pptx");//已簽名文檔
        //ppt.loadFromFile("test.pptx");//未簽名文檔

        //判定文檔是否簽名
        boolean digitalSigned = ppt.isDigitallySigned();
        if (digitalSigned == true)
        {
            System.out.println("已簽名!");
        }
        else if(digitalSigned == false)
        {
            System.out.println("未簽名,可添加簽名。");
        }
    }
}

使用已簽名文件測試時,得出如下判定結果:

 

 

使用未簽名文檔測試時,得出如下判定結果:

 

 

通過以上方法,可確認該方法有效。

 

3.刪除簽名

import com.spire.presentation.*;
public class RemoveSignature {
    public static void main(String[] args) throws Exception {
        //加載PPT文檔
        Presentation ppt = new Presentation();
        ppt.loadFromFile("AddSignature.pptx");

        //判定文檔是否簽名
        boolean digitalSigned = ppt.isDigitallySigned();
        if (digitalSigned == true)
        {
            ppt.removeAllDigitalSignatures();//移除簽名
        }

        //保存文檔
        ppt.saveToFile("RemoveSignature.pptx",FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

運行程序后,最后保存的文件不再有數字簽名。

 

綜上內容,通過該jar來處理PPT中的簽名可實現相關功能,代碼比較簡潔,操作邏輯易理解。

 

轉載請務必注明來源和出處!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM