Java 加密和解密 PDF
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 加密和解密 PDF相关的知识,希望对你有一定的参考价值。
在日常工作中,当我们需要传输一些重要的PDF文件、合同时,为了避免机密内容被第三方窥探到,我们可以对PDF文件进行加密。当这份文件能够公开了,又可以对其进行解密。那么我们如何在Java应用程序中实现这些操作呢? 通过测试发现,一款免费的Free Spire.PDF for Java能够通过简单的代码,帮助我们加密与解密PDF文件。接下来就将使用到的Java代码分享给大家。
基本步骤
1.下载Free Spire.PDF for Java包并解压缩
2.将lib文件夹下的Spire.Pdf.jar包作为依赖项导入到Java应用程序中。(也可直接通过Maven仓库安装JAR包(配置pom.xml文件的代码见下文))
3.在Java应用程序中新建一个Java Class(此处我命名为EncryptPDF 和DecryptPDF), 然后输入相应的Java代码并运行
加密PDF:
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 doc = new PdfDocument();
//加载PDF文件
doc.loadFromFile("sample.pdf");
//对文件进行加密
PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;
String openPassword = "123-abc";
String permissionPassword = "test";
EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields);
doc.getSecurity().encrypt(openPassword, permissionPassword, flags, keySize);
//保存文件
doc.saveToFile("Encrypt.pdf");
doc.close();
}
}
解密PDF:
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) throws Exception {
//创建PdfDocument实例
PdfDocument doc = new PdfDocument();
//加载PDF文件
doc.loadFromFile("Encrypt.pdf", "test");
//对文件进行解密
doc.getSecurity().encrypt("", "", PdfPermissionsFlags.getDefaultPermissions(), PdfEncryptionKeySize.Key_256_Bit, "test");
//保存文件
doc.saveToFile("Decrypt.pdf");
doc.close();
}
}
以上是关于Java 加密和解密 PDF的主要内容,如果未能解决你的问题,请参考以下文章