Java 加密和解密 PDF

2020-12-26 01:29

阅读:522

标签:static   size   创建   mic   get   图片   依赖项   encrypt   bit   

在日常工作中,当我们需要传输一些重要的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

标签:static   size   创建   mic   get   图片   依赖项   encrypt   bit   

原文地址:https://blog.51cto.com/14765544/2500888


评论


亲,登录后才可以留言!