最近在处理一个教学系统,其中用到了ppt显示问题,目前通过脚本打开ppt显示的方式网络上很多,但在我这里遇到一个问题,就是保密问题,因为是放在一个教学系统当然不希望别人能直接把ppt拿去作为他用了,所以想到的第一个就是加密。
因为对ppt本身也不是特别熟悉,后来通过一番研究发现office的ppt文件本身就有一个加密的功能,于是乎就想到了给自己的ppt全部加上密码。
由于ppt工作量较大一个个的打开手工加密显得很不现实,就想研究下office有没有提供类似的接口来实现加密和解密的功能,经过一番努力发现方法极简。
加载ppt文件
public void LoadPPTFile(string path)
{
LoadOptions lp=new LoadOptions();
lp.Password=“123”;
lp.LoadFormat = LoadFormat.Pptx;
presentation = new Presentation(path, lp);
SwitchPageNew(0);
}
核心方法
static public void PPTEncryption(string path,string pass,string outpath)
{
Presentation presentation = new Presentation(path);
//加密文件,设置打开密码并保存文档
presentation.ProtectionManager.RemoveEncryption();
presentation.ProtectionManager.Encrypt(pass);
presentation.Save(outpath,Aspose.Slides.Export.SaveFormat.Pptx);
}