赞
踩
前言
在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密。同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档。本文将通过Java程序来演示如何对PDF文档进行加密和解密。
此次代码示例用到的控件是Free Spire.PDF for Java。该控件主要功能在于帮助开发人员在Java应用程序中生成和操作PDF文档,且运行环境无需安装Adobe Acrobat。
Jar包安装及导入
在运行代码前,需将Jar包导入IDEA中。导入方式有两种:其一,在官网上下载其二,在IDEA中创建一个
com.e-iceblue
http://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.pdf.free
3.9.0
最终导入效果图如下:
代码示例
【示例1】加密PDF文档
import java.util.EnumSet;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.security.PdfEncryptionKeySize;
import com.spire.pdf.security.PdfPermissionsFlags;
public class Encrypt {
public static void main(String[] args) {
//创建PdfDocument实例
PdfDocument doc =new PdfDocument();
//加载PDF文件
doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");
//对文件进行加密
PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;//设置KeySize
String openPassword ="myppt123";//设置文档打开密码
String permissionPassword ="edit";
EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields);
doc.getSecurity().encrypt(openPassword,permissionPassword,flags, keySize);
//保存文件
doc.saveToFile("output/Encrypt.pdf");
doc.close();
}
}
效果截图:
【示例2】解密PDF文档
import com.spire.pdf.PdfDocument;
import com.spire.pdf.security.PdfEncryptionKeySize;
import com.spire.pdf.security.PdfPermissionsFlags;
public class Decrypt {
public static void main(String[] args)throws Exception {
//创建PdfDocument实例
PdfDocument doc =new PdfDocument();
//加载PDF文件
doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Encrypt.pdf","myppt123");
//对文件进行解密
doc.getSecurity().encrypt("","", PdfPermissionsFlags.getDefaultPermissions(),
PdfEncryptionKeySize.Key_256_Bit,"edit");
//保存文件
doc.saveToFile("output/Decrypt.pdf");
doc.close();
}
}
通过运行以上代码,我们能够成功地将设有打开口令的PDF文档进行解密。
总结
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。