前言

在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密。同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档。本文将通过Java程序来演示如何对PDF文档进行加密和解密。

此次代码示例用到的控件是Free Spire.PDF for Java。该控件主要功能在于帮助开发人员在Java应用程序中生成和操作PDF文档,且运行环境无需安装Adobe Acrobat。

Jar包安装及导入

在运行代码前,需将Jar包导入IDEA中。导入方式有两种:其一,在官网上下载其二,在IDEA中创建一个

com.e-iceblue

http://repo.e-iceblue.cn/repository/maven-public/

e-iceblue

spire.pdf.free

3.9.0

最终导入效果图如下:

代码示例

【示例1】加密PDF文档

import java.util.EnumSet;

import com.spire.pdf.PdfDocument;

import com.spire.pdf.security.PdfEncryptionKeySize;

import com.spire.pdf.security.PdfPermissionsFlags;

public class Encrypt {

public static void main(String[] args) {

//创建PdfDocument实例

PdfDocument doc =new PdfDocument();

//加载PDF文件

doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");

//对文件进行加密

PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;//设置KeySize

String openPassword ="myppt123";//设置文档打开密码

String permissionPassword ="edit";

EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields);

doc.getSecurity().encrypt(openPassword,permissionPassword,flags, keySize);

//保存文件

doc.saveToFile("output/Encrypt.pdf");

doc.close();

}

}

效果截图:

【示例2】解密PDF文档

import com.spire.pdf.PdfDocument;

import com.spire.pdf.security.PdfEncryptionKeySize;

import com.spire.pdf.security.PdfPermissionsFlags;

public class Decrypt {

public static void main(String[] args)throws Exception {

//创建PdfDocument实例

PdfDocument doc =new PdfDocument();

//加载PDF文件

doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Encrypt.pdf","myppt123");

//对文件进行解密

doc.getSecurity().encrypt("","", PdfPermissionsFlags.getDefaultPermissions(),

PdfEncryptionKeySize.Key_256_Bit,"edit");

//保存文件

doc.saveToFile("output/Decrypt.pdf");

doc.close();

}

}

通过运行以上代码,我们能够成功地将设有打开口令的PDF文档进行解密。

总结

java 加密word_Java 加密和解密PDF文档相关推荐

  1. java加密解密 pdf_Java 加密和解密PDF文档

    前言 在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密.同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档.本文将通过Java程序来演示如何对PDF文档进行加密和解 ...

  2. java打开密码pdf,在Java中使用密码解密PDF文档

    在Java中使用密码解密PDF文档 文档加密是确保企业与其外部客户之间安全地传递信息的最常用方法之一.所有PDF文件都提供了加密功能,可确保任何试图拦截信息的人都可以在没有密码的情况下打开它,密码应在 ...

  3. java操作office和pdf文件java读取word,excel和pdf文档内容

    在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...

  4. java页码_Java 添加页码到PDF文档

    本文介绍通过Java程序来添加页码到PDF文档的方法. 使用工具:Free Spire.PDF for Java (免费版) Jar文件获取及导入: 方法1:可通过官网 方法2:可通过 Java代码示 ...

  5. 怎么解密PDF文档?这三款解密方法亲测实用

    在日常办公中,我们经常会接触到PDF文件,有时候为了保护文件不被随意查看编辑,会给PDF文件进行加密操作.但是如果出现特殊情况,需要让其他人进入文档查看,就要对其进行解密.可能还有很多小伙伴不清楚加密 ...

  6. 阿里Java面试答案【283页PDF文档免费领】

    怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习 如何拿下阿里等大厂的offer的呢,今天分享一个秘密武器,资深架构师整理的Java核心知识点,面试时面试官必问的知识点,篇章包括了 ...

  7. java poi导出pdf_Java POI 生成PDF文档,很给力!

    package poi.itext; import Java.io.FileOutputStream; import java.io.IOException; import java.awt.Colo ...

  8. java 生成纯色图片_Java 给PDF文档设置背景色(纯色、背景图片)

    import com.spire.pdf.PdfDocument; import com.spire.pdf.PdfPageBase; import java.awt.*; public class ...

  9. Java使用 PDFBox 2.0 从 PDF 文档中读取所有文本

    在本教程中,我们将学习在 Java 程序中使用 PDFBox 2.0 库从 pdf 文档中读取所有文本. PDF 文档可能包含文本.嵌入图像等作为其内容.PDFBox 中的 PDFTextStripp ...

最新文章

  1. [云炬ThinkPython阅读笔记]2.6 字符串运算
  2. 3部世界顶级宇宙纪录片,献给对宇宙万物充满好奇的你
  3. 不带头节点的链表有哪些缺点_14. 删除链表中重复的结点
  4. 机器学习第18篇 - Boruta特征变量筛选(2)
  5. List<T>和List<?>的区别
  6. Unity教程之-Unity3d中针对Android Apk的签名验证(C#实现)
  7. Wicket实战(二)hello world
  8. 事务例子_耗时3周!7000+字的Spring事务总结来啦
  9. 开博了,微博太短,不适合,还是稀饭大的博客
  10. Activity生命周期记忆方法
  11. 数据挖掘(一)-探索性数据分析
  12. shopnc nodejs安装
  13. 【小家Spring】Spring AOP之Advisor、PointcutAdvisor、IntroductionAdvisor、IntroductionInterceptor(引介增强)
  14. 熬夜肝出囊括Java后端95%的面试题解析
  15. 服务器虚拟化太金苹果专业十,合作能力
  16. 记录新人tp5微信扫码支付
  17. Python办公自动化 2.1开发环境搭建:PyCharm社区版配置Anaconda开发环境
  18. 安卓3dtouch测试软件,不必羡慕iPhone!安卓手机可以这样实现“3D Touch”
  19. Java的Scanner对象
  20. Android Studio 光标莫名其妙加粗后,与 insert 键相反的问题

热门文章

  1. 认证学习4 - Bearer认证(Token认证)讲解、代码实现、演示
  2. 元数据是什么意思_中国股市:股票分红10转10股派5元,你看懂是什么意思了吗?...
  3. 2068 Problem M 鸡兔同笼
  4. 从Github下载laravel项目遇到的坑
  5. 什么是堆栈?堆栈的操作方式有哪两种?
  6. JS实现字符串模糊匹配
  7. Quartz执行逻辑(三)QRTZ_FIRED_TRIGGERS表的作用
  8. 基于GitHub搭建个人网站
  9. 学计算机电脑显存多少为好,【深度分析】如何配置深度学习用的电脑(显卡和内存的选择标准)...
  10. oracle用户解锁账号密码忘记了,oracle忘记密码以后以及解锁用户