对于包含机密信息或敏感信息的 pdf 文档,使用密码对其进行加密可以确保只有指定人员能够获取其中的内容。而对加密的 pdf 文档进行解密处理,则可以方便公开发布文档,使任何人都能够随意获取其中的内容。本文将介绍如何使用 spire.pdf for java 通过程序加密 pdf 文档或解密 pdf 文档。
安装 spire.pdf for java
首先,您需要在 java 程序中添加 spire.pdf.jar 文件作为依赖项。jar 文件可以从此链接下载。 如果您使用 maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 jar 文件
com.e-iceblue
e-iceblue
https://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.pdf
9.5.6
使用密码加密 pdf 文档
可以用于加密 pdf 文档的密码有两种:打开密码和权限密码。打开密码可以限制其他人打开 pdf 文档,必须输入密码才能查看有打开密码的 pdf 文档。而权限密码则可以限制对文档进行操作,如打印、复制、评论等。当一个 pdf 文档被同时用这两种密码加密时,可以使用其中任意一种来打开 pdf 文档。
spire.pdf for java 提供的 pdfdocument.getsecurity().encrypt(java.lang.string openpassword, java.lang.string permissionpassword, java.util.enumset
- 创建 pdfdocument 的对象。
- 使用 pdfdocument.loadfromfile() 方法载入 pdf 文件。
- 设置打开密码、权限密码、密钥大小以及权限。
- 使用 pdfdocument.getsecurity().encrypt(java.lang.string openpassword, java.lang.string permissionpassword, java.util.enumset
permissions, pdfencryptionkeysize keysize) 方法加密文档。 - 使用 pdfdocument.savetofile() 方法保存 pdf 文件。
- java
import java.util.enumset;
import com.spire.pdf.pdfdocument;
import com.spire.pdf.security.pdfencryptionkeysize;
import com.spire.pdf.security.pdfpermissionsflags;
public class encryptpdf {
public static void main(string[] args) {
//创建pdfdocument的对象
pdfdocument pdf = new pdfdocument();
//载入pdf文件
pdf.loadfromfile("c:/信用卡跟踪表.pdf");
//加密文档
pdfencryptionkeysize keysize = pdfencryptionkeysize.key_128_bit;
string openpassword = "password";
string permissionpassword = "permission";
enumset flags = enumset.of(pdfpermissionsflags.print, pdfpermissionsflags.fill_fields);
pdf.getsecurity().encrypt(openpassword, permissionpassword, flags, keysize);
//保存文档
pdf.savetofile("加密.pdf");
pdf.close();
}
}
移除 pdf 文档的密码
如需解密 pdf 文件,可以使用 pdfdocument.getsecurity().encrypt(java.lang.string openpassword, java.lang.string permissionpassword, java.util.enumset
- 创建 pdfdocument 的对象。
- 使用 pdfdocument.loadfromfile(java.lang.string filename, java.lang.string password) 方法载入加密的 pdf 文件。
- 使用 pdfdocument.getsecurity().encrypt(java.lang.string openpassword, java.lang.string permissionpassword, java.util.enumset
permissions, pdfencryptionkeysize keysize, java.lang.string originalpermissionpassword) 方法将打开密码和权限密码设置为空,以解密文档。 - 使用 pdfdocument.savetofile() 方法保存 pdf 文件。
- java
import com.spire.pdf.pdfdocument;
import com.spire.pdf.security.pdfencryptionkeysize;
import com.spire.pdf.security.pdfpermissionsflags;
public class decryptpdf {
public static void main(string[] args) {
//创建pdfdocument的对象
pdfdocument pdf = new pdfdocument();
//使用密码载入加密的pdf文档
pdf.loadfromfile("加密.pdf", "password");
//解密文档
pdf.getsecurity().encrypt("", "", pdfpermissionsflags.getdefaultpermissions(), pdfencryptionkeysize.key_256_bit, "permission");
//保存文件
pdf.savetofile("解密.pdf");
pdf.close();
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。