当前位置:

首页 > 编程开发 > Java怎么实现加密或解密PDF文档

Java怎么实现加密或解密PDF文档

PDF文档加密是一种用于保护文件内容的功能。加密后的文档需要提供密码才能打开和查看。这一功能有效防止未经授权的访问、复制和修改PDF文件。FreeSpire.PDFforJava支持以编程的方式加密和解密PDF文档,且过程中不需要安装第三方软件。程序环境在进行操作之前,请先将jar导入到Java程序中,请参考以下两种导入方法:方法一:如果您使用的是maven,可以通过添加以下代码到项目的pom.xml文件中,将jar文件导入到应用程序中。com.e-icebluee-icebluehttps://repo

PDF文档加密是一种用于保护文件内容的功能。加密后的文档需要提供密码才能打开和查看。这一功能有效防止未经授权的访问、复制和修改 PDF 文件。Free Spire.PDF for Java支持以编程的方式加密和解密PDF文档,且过程中不需要安装第三方软件。

程序环境

在进行操作之前,请先将jar导入到Java程序中,请参考以下两种导入方法:

方法一:如果您使用的是 maven,可以通过添加以下代码到项目的 pom.xml 文件中,将 jar文件导入到应用程序中。


    
        com.e-iceblue
        e-iceblue
        https://repo.e-iceblue.com/nexus/content/groups/public/
    


    
        e-iceblue
        spire.pdf.free
        5.1.0
    

方法二:如果您没有使用 maven,则可以从此链接下载Free Spire.PDF for Java,找到lib文件夹下的Spire.PDF.jar并进行解压;然后在IDEA中创建一个新项目,依次点击“文件”(File),“项目结构”(Project Structure),“组件”(Modules),“依赖项”(Dependencies),再点击右方绿色“+”下的第一个选项“jar文件或路径”(JARs or Directories),找到解压后的Spire.PDF.jar 文件,点击确认,将其导入到项目中。

加密PDF文档

创建一个 PdfDocument 实例。

使用 PdfDocument.loadFromFile()方法加载PDF示例文档。

设置打开密码、权限密码、加密密钥大小和权限。

使用 PdfDocument.getSecurity().encrypt(java.lang.String openPassword, java.lang.String permissionPassword, java.util.EnumSet permissions, PdfEncryptionKeySize keySize)方法来加密 PDF 文件。

使用 PdfDocument.saveToFile() 方法保存结果文档。

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("sample.pdf");

        //加密文档
        PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;
        String openPassword = "123456";
        String permissionPassword = "abcdef";
        EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields);
        pdf.getSecurity().encrypt(openPassword, permissionPassword, flags, keySize);

        //保存文档
        pdf.saveToFile("Encrypt.pdf");
        pdf.close();

    }

}

Java怎么实现加密或解密PDF文档

解密PDF文档

创建一个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)方法来解密 PDF 文件。

使用PdfDocument.saveToFile()方法保存结果文件。

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 pdf = new PdfDocument();
        
        //加载加密文档
        pdf.loadFromFile("Encrypt.pdf", "123456");

        //解密文档
        pdf.getSecurity().encrypt("", "", PdfPermissionsFlags.getDefaultPermissions(), PdfEncryptionKeySize.Key_256_Bit, "abcdef");

        //保存文档
        pdf.saveToFile("Decrypt.pdf");
        pdf.close();
    }

Java怎么实现加密或解密PDF文档

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
编程开发
相关文章 更多
C++动态数组初始化怎么写?常用语句与代码示例
C++动态数组初始化怎么写?常用语句与代码示例

深入解析C++中动态数组的初始化机制,涵盖new操作符的不同用法、基本类型与类对象的初始化差异,以及为何在现代C++开发中应优先使用std::vector。

PDF怎么取消密码保护?4种解锁方法整理
PDF怎么取消密码保护?4种解锁方法整理

PDF文件加密后无法编辑或打印?本文整理4种高效解锁方法:使用在线PDF解锁工具快速处理、本地PDF转换器离线操作、Adobe Acrobat Reader导出以及PDF Password Remover专用工具。详细步骤指导如何备份文件、选择工具并验证解锁结果,确保文档安全可用。

PDF怎么添加水印?文字水印在线设置方法
PDF怎么添加水印?文字水印在线设置方法

本文介绍使用pdf.cn在线工具为PDF添加文字水印的操作流程。核心步骤包括:进入工具页、上传PDF文件、设置水印内容与位置、执行处理及下载结果。适用于临时办公赶工或提交材料前的预处理,无需安装复杂软件。

PDF怎么加密保护?在线给PDF文档加密码的方法
PDF怎么加密保护?在线给PDF文档加密码的方法

本文详解三种在线PDF加密工具的使用方法,涵盖极轻PDF、PDF Candy和Sejda。通过分步图解,指导用户如何上传文件、设置密码并验证加密效果,确保文档安全不外泄。

蓝海书屋怎么查看阅读时长
蓝海书屋怎么查看阅读时长

蓝海书屋查看阅读时长的五种专业方法 “蓝海书屋的阅读时长到底在哪看?”最近这个问题确实被问得挺多。其实,掌握阅读时长不仅能帮你回顾自己的阅读旅程,更是管理阅读习惯、完成目标的好帮手。下面,咱们就系统梳理一下在蓝海书屋查看阅读时长的五种方式,操作清晰,一目了然。 官方入口在这里,有需要的可以先行访问:

谷歌浏览器Mac版入口
谷歌浏览器Mac版入口

谷歌浏览器Mac版官方安装指南 谷歌浏览器Mac版官方安装入口是https://www.google.com/chrome/,需macOS 12+系统、500MB空间,下载.dmg后拖入应用程序安装,支持多设备同步、性能优化与隐私保护功能。 苹果电脑Chrome的安装入口究竟在哪里?这个问题最近可是

夸克浏览器如何打开PDF文件
夸克浏览器如何打开PDF文件

在夸克浏览器中轻松查阅PDF:三种核心方法详解 遇到网页上的PDF文档,却不知道如何让夸克浏览器直接打开它?这通常不是功能缺失,而是一两个关键设置没到位。今天,我们就来详细拆解几种行之有效的打开方式,帮你实现无缝浏览。 (*本文操作基于小米14,Android 14系统环境) 一、通过文件下载后自动

企查查网页版官方入口
企查查网页版官方入口

企查查网页版官方入口与核心功能解析 企查查网页版官方入口是https://www.qcc.com,提供企业信息检索、关联图谱、行业分析及数据服务四大核心功能。 关于企查查网页版如何进入,以及它能提供哪些关键服务,不少朋友都希望获得一个清晰的指引。接下来,我们就系统地梳理一下企查查的官方入口及其几项核

好分数学生查成绩入口
好分数学生查成绩入口

好分数学生查成绩入口与使用全指南 好分数学生查成绩入口是https://hfs.yunxiao.com/,需用手机号注册并绑定真实姓名及考试证件号后,方可查看近三次校级考试成绩、可视化分析图表、错题本及个性化学习推送。 好分数的查分入口究竟在哪儿?这问题困扰着不少学生和家长。别急,下面这份详细的官网

学信网学籍验证最新入口
学信网学籍验证最新入口

学信网学籍验证与实人核验一站式指南 最近,不管是正在读书的同学、即将毕业的应届生,还是负责招聘的人事专员,大家似乎都在问同一个问题:2026年了,学信网的官方入口到底在哪?实人验证又该怎么操作?别急,这份直达通道和操作指引,就是为你准备的。 所有问题的答案,都指向这个唯一的官方网址:https://

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师
macOS

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

WINDOWS 更多
Windows 10
Windows 10
Windows

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘
Windows/macOS/iOS/Android

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。