本文介绍使用Spire.Presentation for Java来添加数字签名到PPT幻灯片,也可以检测PPT是否包含数字签名,删除PPT中已有的数字签名等。
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", "123654","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");//已签名文档
//判定文档是否签名
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();
}
}
运行程序后,最后保存的文件不再有数字签名。