java加密解密 pdf_Java 加密和解密PDF文档
前言
在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密。同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档。本文将通过Java程序来演示如何对PDF文档进行加密和解密。
此次代码示例用到的控件是Free Spire.PDF for Java。该控件主要功能在于帮助开发人员在Java应用程序中生成和操作PDF文档,且运行环境无需安装Adobe Acrobat。
Jar包安装及导入
在运行代码前,需将Jar包导入IDEA中。导入方式有两种:其 一,在官网上下载Free Spire.PDF for Java产品包,解压后将lib文件夹下的Spire.Pdf.jar手动导入IDEA中;其 二,在IDEA中创建一个Maven项目,然后在pom.xml文件中键入以下代码,最后点击“Import Changes”即可。
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:UsersTest1DesktopSample.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:UsersTest1DesktopEncrypt.pdf", "myppt123");
//对文件进行解密
doc.getSecurity().encrypt("", "", PdfPermissionsFlags.getDefaultPermissions(),
PdfEncryptionKeySize.Key_256_Bit, "edit");
//保存文件
doc.saveToFile("output/Decrypt.pdf");
doc.close();
}
}
通过运行以上代码,我们能够成功地将设有打开口令的PDF文档进行解密。
总结
Free Spire.PDF for Java除了可设置打开口令对文档进行保护外,还支持为PDF文档添加数字签名、验证数字签名有效性及添加骑缝章等功能。其他功能将在今后的教程里一一讲解,可关注作者方便日后查找。对代码或产品包导入有疑问,可评论或私信。
java加密解密 pdf_Java 加密和解密PDF文档相关推荐
- java html 生成 pdf_Java实现HTML代码生成PDF文档
1.IText实现html2pdf,速度快,纠错能力差,支持中文(要求HTML使用unicode编码),但中支持一种中文字体,开源. 2.Flying Sauser实现html2pdf,纠错能力差,支 ...
- java根据pdf模板生成pdf_Java 复制、压缩PDF文档
在日常办公中,掌握操作PDF文档的能力尤为重要.在前文中我使用Java程序来演示过如何合并和拆分PDF文档.本文将介绍如何复制和压缩文档.通常复制文档有两种形式,一种是跨文档复制,即将一个文档复制到另 ...
- Java使用PDFBox开发包实现对PDF文档内容编辑与保存
pdfbox开发包下载地址:http://pdfbox.apache.org/ 程序实现了PDF文档的创建,读入,与修改PDF内容并保存. 可能有个前提,PDF文档不是加密的,如果加密怎么办,我没研究 ...
- 加载pdf_Java 插入附件到PDF文档
在文档中插入附件,可以起到与源文档配套使用的目的,以一种更简便的方式对文档起到补充说明的作用.下面将介绍通过Java编程插入附件到PDF文档中的方法.这里插入的文档可以是常见的文档类型,如Word.E ...
- java实现从url路径中下载pdf文档到本地
import java.io.*; import java.net.*;public class DownloadPdf {/*** 从网络Url中下载文件* @param urlStr pdf网页的 ...
- java 加密word_Java 加密和解密PDF文档
前言 在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密.同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档.本文将通过Java程序来演示如何对PDF文档进行加密和解 ...
- pdf加密 java_PDFBox加密PDF文档
本篇文章帮大家学习PDFBox加密PDF文档,包含了PDFBox加密PDF文档使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 在前一章中,我们已经看到了如何在PDF文档中 ...
- Java 设置PDF文档过期时间(有效时间)
有些文档具有一定时效性,需在规定时间段内才可阅读查看,针对此类文档,需要设置文档的过期日期.时间等.下面以Java示例演示为例如何给PDF文档设置过期时间.需使用PDF类库, Free Spire.P ...
- 【教程】如何使用Java生成PDF文档?
在如今数字化时代,越来越多的人使用PDF文档进行信息传递和共享.而使用Java生成PDF文档也成为了一个非常重要的技能,因为Java作为一种通用的编程语言,可以在不同的操作系统和平台上运行.下面,我们 ...
最新文章
- java和c++的区别大吗_安徽成人高考和自考区别大吗?为什么推荐选成人高考?
- 学生查询成绩登录2021高考查分,2021学情达成绩查询登录app
- 查询除了一列意外_想让你的查询语句变快吗?
- C#实现清理系统内存
- python-字典数据类型-0222
- mybais 之parameterType =list
- PHP获取随机字符串的两种方法
- @Bean和@Componet区别
- 用户'MYCOMPUTER\ASPNET' 登录失败”的解决方法
- HexEdit Linux下命令集
- 转载:Latex——在线快速生成表格代码
- 2018铁三测评题write以及一些想送给你们的话
- C++五子棋算法Ai 简单的电脑智能博弈
- 2014 ACM-ICPC 亚洲地区赛 西安站小结
- FreeRTOS-消息队列详解
- 用寄存器HAL库完成LED流水灯程序以及通过MDK5模拟示波器观察波形
- SX126x-数字接口SPI和控制功能
- MAC OS 上好用的文本编辑器除了Sublime Text和BBEdit还有这些好用的推荐一下。
- windows系统安装jira
- Unity 播放声音