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的主要内容,如果未能解决你的问题,请参考以下文章

如何利用JAVA对文档进行加密和解密处理,完整的java类

JAVA实现对PDF文件加密解密暴力破解密码功能

JAVA实现对PDF文件加密解密暴力破解密码功能

为啥我用Base64加密后,不能将它解密?

Java 加密解密PDF文档

实用脚本!利用 Python 对 PDF 进行加密解密操作,代码拿走就用!