Java 操作PPT數字簽名(一):新增、檢測、刪除簽名
阿新 • • 發佈:2021-03-17
本文簡要概述如何通過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中的簽名可實現相關功能,程式碼比較簡潔,操作邏輯易理解。
轉載請務必註明來源和出處