当前位置: 首页 > 知识库问答 >
问题:

PDFBox命令行选项无法解密具有有效用户密码的PDF文件

常坚
2023-03-14

我正在使用PDFBox2.0.8,并尝试使用提供给jar文件的命令行选项进行PDF解密。有几个PDF文件,导致错误,说这些只能解密与所有者密码(好吧),但我可以删除PDF密码与使用QPDF的在线工具,我猜。

现在我关心的是,我是否可以使用PDFBox相同的选项来解密PDF,而不用担心所有者/用户的密码保留?(我想是的,因为相同的密码可以用Acrobat打开PDF文件,也可以通过提供相同的密码保存decyrpted PDF文件)。

我的当前命令行示例

 java -jar "D:\pdfbox.jar" Decrypt -password xxxxxxxx 
   "D:\uploads\Jjre2pJsC-7KerheiZ8OUt079E7d4dlS.pdf"
  2018-06-13 - 09:52:30 - error: SaveDecryptedPDF > Failed > Error: Command 
        failed: java -jar "D:\pdfbox.jar" Decrypt -password xxxxxxxx 
        "D:\uploads\Jjre2pJsC-7KerheiZ8OUt079E7d4dlS.pdf"
       Exception in thread "main" java.io.IOException: Error: You are only allowed to 
        decrypt a document with the owner password.
        at org.apache.pdfbox.tools.Decrypt.decrypt(Decrypt.java:154)
        at org.apache.pdfbox.tools.Decrypt.main(Decrypt.java:64)
        at org.apache.pdfbox.tools.PDFBox.main(PDFBox.java:52)

共有1个答案

徐高懿
2023-03-14

显然,用户和所有者这两个密码在技术上都允许解密整个文档。但是在语义上有区别,使用用户密码打开PDF的人与使用所有者密码打开同一PDF的人相比,对PDF的访问权限有限。

不同的库和工具在不同程度上遵循这些语义。有的甚至完全无视区别。

另一方面,PDFBoxdecrypt工具显式地尝试遵循这些语义,并且只允许所有者解密PDF:

AccessPermission ap = document.getCurrentAccessPermission();
if(ap.isOwnerPermission())
{
    document.setAllSecurityToBeRemoved(true);
    document.save( outfile );
}
else
{
    throw new IOException(
            "Error: You are only allowed to decrypt a document with the owner password." );
}
 类似资料:
  • 我已经将示例项目放入GitHub:https://github.com/marioosh-net/pdfbox

  • 我正在试着制作一个定制的发射器,但我不知道如何使用命令行来启动minecraft。我看到了这个问题:从命令行启动Minecraft-使用名称和密码作为前缀。但是答案根本不起作用,所以有人能告诉我如何使用以用户名和密码为前缀的命令行启动minecraft吗

  • 我需要能够删除安全/加密从一些PDF文档,最好与itextsharp库。这在过去是可能的(如何通过使用C#提供文件的密码作为参数来解密pdf文件?),但最近对库的更改意味着该解决方案不再起作用。

  • 主要内容:加密PDF文档,示例在前一章中,我们已经看到了如何在PDF文档中插入图像。 在本章中,我们将学习如何加密PDF文档。 加密PDF文档 使用和类提供的方法加密PDF文档。 类用于通过为其分配访问权限来保护PDF文档。 使用此教程,您可以限制用户执行以下操作。 打印文档 修改文档的内容 复制或提取文档的内容 添加或修改注释 填写交互式表单域 提取文字和图形以便视障人士使用 汇编文件 打印质量下降 类用于向文档添加基于密码

  • 我怀疑它没有正确解密,因为它能够拉动表单的文本提示,但不能拉动响应本身。在下面的代码中,它从示例PDF中提取和,但不是它们之间的响应。 我正在使用PDFBox2.0,但我也尝试过1.8。 我已经尝试了所有的解密方法,我可以找到的PDFBox,包括不推荐的那些(为什么不)。我得到的结果与完全不尝试解密一样,只是地址和城市提示。