我可以使用 iText 重置忘记的所有者密码吗?

Posted

技术标签:

【中文标题】我可以使用 iText 重置忘记的所有者密码吗?【英文标题】:Can I reset a forgotten owner password with iText? 【发布时间】:2010-01-20 17:57:55 【问题描述】:

通过 iText,我可以使用 Java 打开 pdf 并编写它。如果 pdf 有所有者密码,我仍然可以打开它,但无法写入。

显然内容是可读的,看起来你可以简单地将文档写入一个新文件。 iText 不允许这样做,它会引发错误的密码异常。有没有办法解决这个问题?

【问题讨论】:

【参考方案1】:

通过删除 BadPasswordException 的抛出,我能够成功保存具有所有者密码的 pdf。

【讨论】:

【参考方案2】:

听起来 PDF 可能已加密并且设置了所有者密码但未设置用户密码。如果是这种情况,那么 iText 正在做正确的事情,因为必须提供所有者密码才能在将文档写入新文件之前解密文件(相比之下,仅提供用户密码,在这种情况下什么都不会允许您可以查看 PDF,有时还可以对其执行其他操作,例如打印和复制/粘贴)。

大多数(如果不是全部)享有盛誉的工具包都会尊重加密。然而,有一些不太严谨的工具可以“破解”密码。通常最好避免这种情况,但确实存在此类工具。

另一个选项,假设已设置文档的权限,以便用户密码允许打印,将使用基于打印机驱动程序的转换 SDK 将 PDF 打印为新的 PDF(如果您有很多这些文件)或简单地手动打印(如果您只在蓝月亮中获得一次)。将 PDF 打印到另一个 PDF 是一个有点讨厌的过程,因为您必须小心管理 Acrobat 实例,但如果绝对必要,可以以有限的方式完成。

【讨论】:

您是正确的,所有者密码但没有用户密码。我要问的一点是,一旦文档打开,是否可以绕过所有者密码以另存为不同的 PDF。似乎答案基本上是“是的,但你不应该这样做”

以上是关于我可以使用 iText 重置忘记的所有者密码吗?的主要内容,如果未能解决你的问题,请参考以下文章

苹果电脑忘记密码怎么办?

电脑忘记密码?

忘记ad密码怎么重新设置

mysql忘记密码后重置密码的方法(mysql 8.0.25重置密码)

无法在 MVC 5 项目中生成密码重置令牌?

esxi 6.7密码忘记了,如何保数据,重置密码?