`

Java 加密、解密PDF文档

阅读更多

本篇文章将介绍通过Java编程来设置PDF文档保护的方法。我们可以设置仅用于查阅文档的密码,即该通过该密码打开文档仅用于文档阅读,无法编辑;也可以设置文档编辑权限的密码,即通过该密码打开文档时,文档为可编辑状态。

使用工具:Free Spire.PDF for Java V2.0.0(免费版)

关于jar文件引用

步骤1在Java程序中新建一个文件夹可命名为Lib。下载安装包后,解压,将解压后的文件夹下的子文件夹lib中的Spire.Pdf.jar和Spire.Common.jar两个文件复制到新建的文件夹下,如下图:


 

步骤 2:建好文件夹后,引用两个文件:选中这两个jar文件,点击鼠标右键,选择“Build Path” – “Add to Build Path”。如下图:


 

Java代码

【示例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 EncryptPDF {

	public static void main(String[] args) {
		
        //创建PdfDocument实例
        PdfDocument doc = new PdfDocument();
        //加载PDF文件
        doc.loadFromFile("sample.pdf");

        //加密PDF文件
        PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;
        String openPassword = "123456";//打开文档时,仅用于查看文档
        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();		     
	}
}

 完成代码后,运行程序,生成文档。打开文档时,输入密码,可查看文档加密的具体情况。如下图:


 

【示例2】解除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", "123456");

        //解除文档中的密码保护
        doc.getSecurity().encrypt("", "", PdfPermissionsFlags.getDefaultPermissions(), PdfEncryptionKeySize.Key_256_Bit, "test");
        
        //保存文件
        doc.saveToFile("Decrypt.pdf");
        doc.close();
	}
} 

运行程序后,生成的文档将不再受密码保护。

 

(本文完) 

  • 大小: 14.9 KB
  • 大小: 14.8 KB
  • 大小: 209.5 KB
0
0
分享到:
评论

相关推荐

    pdfbox 提取 pdf文件中的图片

    下载地址: ...介绍: ...3.加密/解密PDF文档。 4.向已有PDF文档中追加内容。 5.可以从PDF文档生成一张图片。 6.可以与Jakarta Lucene搜索引擎的整合。 这个小程序,实现了,图片提取,文档解密的基本功能

    Java加密技术(技巧与实例) pdf.rar

    Java加密技术(技巧与实例) pdf,内容介绍BASE64、MD5、SHA、HMAC几种方法,主要描述Java已经实现的一些加密解密算法,最后介绍数字证书。

    实现pdf解密的工具

    实现从加密的pdf格式的文档中复制,解决了加密后pdf文档不能复制的问题

    SM2&SM3;&SM4;国密算法Java实现

    我自己按照国密文档通过Java实现SM2密码算法加密/解密、签名验签,SM3密码杂凑算法,SM4分组密码算法ECB、CBC模式加密/解密。 经过详尽的测试过后没有发现问题,但建议大家在使用时仍进行验证。若有问题请及时反馈,...

    PDF解析需要的jar(pdfBox2.0)

    随意下载:自从Adobe公司1993年第一次发布公共PDF参考以来,支持各种语言和平台...加密/解密PDF文档。 从PDF和XFDF格式中导入或导出表单数据。 向已有PDF文档中追加内容。 将一个PDF文档切分为多个文档。 覆盖PDF文档。

    SM2、SM3、SM4国密算法Java实现(含详细测试代码)

    按照国密文档通过Java实现SM2密码算法加密/解密、签名验签,SM3密码杂凑算法,SM4分组密码算法ECB、CBC模式加密/解密。 经过详尽的测试过后没有发现问题,但建议大家在使用时仍进行验证。若有问题请及时反馈,期待和...

    Java常用工具类大全,工作5年精心整理(最新版)

    提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、...加密解密,如MD5、BASE64,AES、DES等 - 4.文件操作,包括file、image、zip等 - 5.http - 6.jdbc - 7.json - 8.邮件 - 9.二维码、条形码 - 10.web

    java源码包---java 源码 大量 实例

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    java源码包4

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    java源码包3

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    JAVA上百实例源码以及开源项目源代码

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    java源码包2

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    JAVA上百实例源码以及开源项目

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    免费版 JAVA PPT控件 -Free Spire.Presentation for Java_2.0.0

    它支持功能十分丰富,如添加/编辑/删除幻灯片,创建图表、表格,添加项目符号,加密和解密PPT,添加水印,插入超链接、音频和视频,段落设置,文档属性设置,插入/提取图片,提取文本,设置动画,添加页眉页脚,添加...

    优道PDF文档版权保护控件

    高强度加密 采用国际权威的高强度加密算法在内存中完成加密解密,远程加密传输,不留任何痕迹; 尊重用户习惯 只保护需要保护的内容,不采用屏蔽键盘鼠标和剪贴板等限制用户正常操作的行为; 技术实力过硬 C++...

    aspose-pdf-cloud-java:用于与Aspose.Pdf for Cloud API通信的Java库

    Java REST API可在云端处理PDF 是真正的REST API,可让您执行各种文档处理操作,包括在云中创建,操纵,转换和呈现PDF... 对PDF文档应用加密或解密并设置密码。 从页面或整个PDF文档中删除所有图章和表格。 通过其ID

    优道pdf保护控件

    优道PDF文档版权保护控件(UUDoc Secure PDF Control) 优道科技提供在线文档版权保护技术和解决方案,支持保护通过网页进行在线浏览的PDF和XPS文档。控件采用优道科技独创的屏幕黑洞技术进行研发,能完美解决PDF和...

    java基础类库开发包,工作5年精心整理_Java常用工具类源码

    加密解密,如MD5、BASE64,AES、DES等 - 4.文件操作,包括file、image、zip等 - 5.http - 6.jdbc - 7.json - 8.邮件 - 9.二维码、条形码 - 10.web Java常用工具类大全,工作5年精心整理(最新版)

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    图片到图片装载器、绘制火焰效果的X坐标,Y坐标、得到X坐标,Y坐标值、绘制火焰效果Image…… Java加密解密工具集 JCT v1.0源码包 5个目标文件 内容索引:JAVA源码,综合应用,JCT,加密解密 WDSsoft的一款免费源代码 JCT ...

Global site tag (gtag.js) - Google Analytics