📜  使用Java解密 PDF

📅  最后修改于: 2022-05-13 01:55:39.636000             🧑  作者: Mango

使用Java解密 PDF

我们可以通过使用外部库 PDFBox 使用Java解密任何 PDF。我们可以使用Java从任何PDF中解密和删除访问权限,但我们必须记住PDF的所有者密码才能解密,否则无法解密。

方法:

在此程序中,您将看到如何将加密的 PDF 文件作为输入,以及如何对其进行解密以访问或阅读 PDF 文件。您将看到用于以下过程的 PDFBox 库。

Input   : Encrypted PDF file
Output  : Decrypted PDF file 

PDFBox 的 Maven 依赖:


org.apache.pdfbox
pdfbox
2.0.21

解密 PDF 的步骤

1.加载PDF文档

使用类PDDocumentload()静态方法(我们可以使用类名访问它)加载 PDF 文件。 load()方法将接受 PDF 文件作为参数。这里所有者密码是强制性的,否则我们无法解密它。

File f = new File("path_of_PDFfile");
PDDocument pdd = PDDocument.load("object_of_file","Owner_password");

2. 调用“setAllSecurityToBeRemoved(bool)”方法

加载 PDF 文件后,使用PDDocument类的对象调用setAllSecurityToBeRemoved(bool)方法。它将从 PDF 中删除访问权限并允许所有用户访问它。在setAllSecurityToBeRemoved(bool)中传递boolean(True/False)作为参数。如果我们要执行解密操作,则传递true ,否则传递false 

PDDocument_object.setAllSecurityToBeRemoved(true);

3. 保存并关闭文件

解密 PDF 后保存关闭文件以对其进行更改。

PDDocument_object.save("path_of_PDFfile");
PDDocument_object.close();

解密PDF的可执行代码:

Java
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.encryption.StandardDecryptionMaterial;
  
public class Decrypt_pdf {
    public static void main(String[] args)
        throws IOException
    {
  
        // select a file for Decryption operation
        File file = new File("D:\\Bluetooth\\Encrypted.pdf");
  
        // Load the PDF file
        PDDocument pdd = PDDocument.load(file, "12345");
  
        // removing all security from PDF file
        pdd.setAllSecurityToBeRemoved(true);
  
        // Save the PDF file
        pdd.save(file);
  
        // Close the PDF file
        pdd.close();
        System.out.println("Decryption Done...");
    }
}


输出:

Decryption Done...

让我们看一下下面给出的屏幕截图,以便更好地理解,您将看到如何解密给定的 PDF 文件并访问阅读它。在此屏幕截图中,您将看到一个受密码保护的 PDF 加密文件,这意味着您只需要权限或密码即可授予对 PDF 文件的访问权限。

#解密前

输入正确的密码后,您就可以访问和阅读 PDF 文件。现在,如果您想使用Java代码解密它,那么您需要编写如下所示的代码,并需要执行以下程序,如下面的屏幕截图所示。

#代码片段

现在,成功执行上述程序后,您无需任何密码即可访问 PDF 文件,这意味着您的 PDF 文件现在已解密,您可以直接访问和阅读它。

#解密后

 

这是您将看到解密过程的视频,您将确切地看到它是如何工作的。因此,通过这种方式,您可以更改任何 PDF 的访问权限,这将允许所有用户轻松访问它。