`

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
分享到:
评论

相关推荐

    Java加密与解密的艺术.pdf 下载

    标题和描述均提到了“Java加密与解密的艺术”,这暗示了文档主要聚焦于Java语言在数据加密和解密领域的应用。尽管提供的“部分内容”并未给出具体的技术细节,但我们可以根据这一主题,深入探讨Java中加密与解密的...

    基于JAVA的文件加密解密.pdf

    Java文件加密解密技术是当前信息安全领域中的一个重要应用。随着Java技术的普及,人们对其平台安全性愈发关注,因此对Java安全的研究变得极为重要。通过使用Java安全系统设计和实现安全机制,具有重要的应用价值。 ...

    文件的加密解密!支持pdf,doc,jpg,txt等----java版

    标题中提到的"Des加密解密"是指使用DES算法进行文件操作。 DES是一种对称加密算法,意味着加密和解密使用的是同一密钥。虽然DES在安全性上已经相对较弱,但作为示例学习仍不失为一个好选择。使用DES加密文件的步骤...

    PDF解密 PDF加密去除

    40位和128位RC4加密主要应用于较旧的PDF版本,而AES加密则提供了更高级别的安全性,常见于现代PDF文档。加密通常涉及到用户密码(打开密码)和所有者密码(权限密码),前者用于打开文件,后者用于控制对文档的操作...

    pdfbox 提取 pdf文件中的图片

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

    JAVA PDF JAVA PDF JAVA PDF

    Apache PDFBox是一个流行的开源Java库,用于读取、创建、修改PDF文档。它提供了丰富的API,可以用来解析PDF内容、添加文本、插入图像、签署PDF以及进行许多其他操作。另一个常用的库是iText,它同样强大且功能齐全,...

    Java加密与解密的艺术

    在IT行业中,安全是至关重要的一个领域,尤其是在网络通信、数据存储和传输中。Java作为广泛应用的编程语言,提供了一系列的...通过阅读提供的PDF文档,你将有机会掌握这些技能,为你的系统构建一道坚实的安全防线。

    AES加密java实现.pdf

    在本段关于AES加密算法的Java实现的文档内容中,涉及到了与AES加密相关的多个关键概念和实现细节。AES(高级加密标准)是一种广泛使用的对称加密算法,主要用于保护电子数据的机密性。它替代了DES,成为美国联邦政府...

    java操作Pdf文档详情

    在Java中,处理PDF文档是一项常见的任务,包括读取、修改、添加内容以及删除页面等操作。本篇文章将深入探讨如何在Java环境中实现对PDF文档的高效操作。 首先,我们需要引入一个可靠的库来支持PDF处理。Apache ...

    java读取pdf文件属性

    PDFBox可以用来创建新的PDF文档,从现有的PDF文档中提取文本,提取元数据(如作者、标题、主题、关键词等),还可以用来渲染PDF页面到图像,以及对PDF文档进行加密和解密等操作。 ### 三、读取PDF元数据的步骤 ###...

    Jave CED 文档转PDF

    Java提供了标准的加密库,如Java Cryptography Extension (JCE),可以处理解密任务,但必须确保遵循所有相关的版权和安全规定。 在实际操作中,一个完整的Java CED到PDF转换流程可能包括以下步骤: 1. 使用Java的...

    java 把PDF转换成BASE64

    虽然在上述流程中并未涉及,但Java的`PDFBox`库可以用于对PDF文档进行加解密。如果需要这个功能,PDFBox提供了一系列API来处理PDF的密码保护和访问控制。 总之,Java提供了便捷的工具来实现PDF与BASE64之间的转换,...

    java加密的文档

    8. **加密工具类**:`Cipher`是Java加密的核心类,它实现了加解密操作。通过`Cipher.getInstance()`方法,可以选择不同的加密算法和模式。 9. **混淆与解混淆**:在Android开发中,由于安全考虑,可能会对APK进行...

    PDF数字签名(ITEXT+keytool)

    在本项目中,我们使用了Java的ITEXT库来处理PDF文档,以及keytool工具来生成数字证书。以下是关于这些知识点的详细说明: 1. **PDF数字签名**:PDF数字签名是一种用于验证PDF文档未经修改的机制。它使用非对称加密...

    java操作pdf,pdf-demo

    本项目“java操作pdf,pdf-demo”就是基于Java实现的PDF操作示例,它可以帮助开发者了解如何在Java环境下与PDF文档进行交互。 首先,让我们了解一些关键的Java库,它们是处理PDF文档的基础: 1. Apache PDFBox:...

    PDF加密所需Jar包

    例如,Apache PDFBox是一个开源的Java库,它提供了对PDF文档的读取、创建、修改等操作,包括加密功能。使用PDFBox,我们可以通过以下步骤来加密PDF: 1. 引入PDFBox库:确保项目中添加了PDFBox的Jar包,例如`pdfbox...

    Java AES文件和文本加解密

    Java JCE是Java平台的标准扩展,提供了加密、解密、哈希和数字签名等功能。在Java中实现AES加解密,我们需要导入`javax.crypto`包中的相关类,如`Cipher`用于加解密,`KeyGenerator`用于生成密钥,`SecretKeySpec`...

    android pdf文件加密

    2. 创建PDF并设置加密:使用iText创建一个新的PDF文档,并设置加密选项。以下代码展示了如何创建一个带有128位AES加密的PDF: ```java PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream...

    文本加密解密工具 ImmediateCrypt

    “加密解密”和“java”标签则明确了其核心功能和技术栈。 在ImmediateCrypt.jar中,这是应用的主执行文件,由Java的jar打包工具生成,包含了所有必要的类和资源,用户只需双击即可运行。对于那些没有Java环境的...

    实现pdf解密的工具

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

Global site tag (gtag.js) - Google Analytics