前言
在日常办公时,为了爱护文档不被别人篡改,咱们可为文档设置关上口令,即加密。同时,因须要咱们也可对加密文档进行解密,以便可能查看和编辑文档。本文将通过 Java 程序来演示如何对 PDF 文档进行加密和解密。
此次代码示例用到的控件是Free Spire.PDF for Java。该控件次要性能在于帮忙开发人员在 Java 应用程序中生成和操作 PDF 文档,且运行环境无需装置 Adobe Acrobat。
Jar 包装置及导入
在运行代码前,需将 Jar 包导入 IDEA 中。导入形式有两种:其 一 ,在官网上下载Free Spire.PDF for Java 产品包,解压后将 lib 文件夹下的 Spire.Pdf.jar 手动导入 IDEA 中;其 二 ,在 IDEA 中创立一个Maven 我的项目,而后在 pom.xml 文件中键入以下代码,最初点击“Import Changes”即可。
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>3.9.0</version>
</dependency>
</dependencies>
最终导入效果图如下:
代码示例
【示例 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:UsersTest1DesktopSample.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:UsersTest1DesktopEncrypt.pdf", "myppt123");
// 对文件进行解密
doc.getSecurity().encrypt("","", PdfPermissionsFlags.getDefaultPermissions(),
PdfEncryptionKeySize.Key_256_Bit, "edit");
// 保留文件
doc.saveToFile("output/Decrypt.pdf");
doc.close();}
}
通过运行以上代码,咱们可能胜利地将设有关上口令的 PDF 文档进行解密。
总结
Free Spire.PDF for Java除了可设置关上口令对文档进行爱护外,还反对为 PDF 文档增加数字签名、验证数字签名有效性及增加骑缝章等性能。其余性能将在今后的教程里一一解说,可关注作者不便日后查找。对代码或产品包导入有疑难,可评论或私信。