Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以从PDF中提取文本,其;“页面提取”;不允许吗?_Java_Python_Itext_Pdftotext_Pypdf2 - Fatal编程技术网

Java 是否可以从PDF中提取文本,其;“页面提取”;不允许吗?

Java 是否可以从PDF中提取文本,其;“页面提取”;不允许吗?,java,python,itext,pdftotext,pypdf2,Java,Python,Itext,Pdftotext,Pypdf2,我能够从没有任何安全限制的PDF中提取文本。我只是想知道是否有可能从有限制的PDF中提取文本 更新: 谢谢大家的评论。我感谢你的关心。请理解这个问题。我没有问怎么做。我只是想知道这是否可能。我已经创建了一个带有这些限制的PDF。我不希望从文档中提取我的信息。有许多开发人员可以完成任何任务。我想知道这项任务能否完成。如果可以做到这一点,那么我将进一步调查以克服这个问题 正如OP澄清的那样,他问这个问题是为了知道他的文档有这样的限制是否可以安全地进行文本提取,并且他没有问如何进行文本提取(尽管标签

我能够从没有任何安全限制的PDF中提取文本。我只是想知道是否有可能从有限制的PDF中提取文本

更新:

谢谢大家的评论。我感谢你的关心。请理解这个问题。我没有问怎么做。我只是想知道这是否可能。我已经创建了一个带有这些限制的PDF。我不希望从文档中提取我的信息。有许多开发人员可以完成任何任务。我想知道这项任务能否完成。如果可以做到这一点,那么我将进一步调查以克服这个问题

正如OP澄清的那样,他问这个问题是为了知道他的文档有这样的限制是否可以安全地进行文本提取,并且他没有问如何进行文本提取(尽管标签中给出了明确的语言和库),这里是关于原则选项的回答,而不是具体的实现。因此

是的,可以从有限制的文档中提取文本,只要文档完全可以读取,并且没有其他方法阻止文本提取。

您显示的限制仅是向PDF处理器指示作者希望允许或不允许用户对其文档执行什么操作的标志,但它们不是技术限制

这些限制只能应用于加密文档,但您肯定希望这些限制特别适用于任何可以打开文档进行阅读的人(您除外),无论是通过知道特定用户密码还是使用空密码

参见规范ISO 32000(此处来自第2部分,与第1部分类似,重点关注PDF查看器):

如果用户试图打开具有用户密码的加密文档,PDF阅读器应首先尝试使用7.6.4.3“文件加密密钥算法”(默认用户密码)中定义的填充字符串对加密文档进行身份验证:

  • 如果此身份验证尝试成功,PDF阅读器可能会打开、解密、呈现并以其他方式提供对文档的访问

  • 如果此身份验证尝试失败,交互式PDF处理器应提示输入密码。正确提供任一密码(所有者或用户密码)应使用户能够访问文档

是否允许对解密文件进行其他操作取决于打开文件时提供的密码(如果有)以及创建文件时指定的任何访问限制:

  • 使用正确的所有者密码打开文档应允许完全(所有者)访问文档。这种无限制访问包括更改文档密码和访问权限的能力

  • 使用正确的用户密码打开文档(或使用默认密码打开文档)应允许根据文档加密字典中指定的用户访问权限执行其他操作

访问权限应以与各种操作相对应的标志的形式指定,它们对应的操作集应取决于安全处理程序的修订号(也存储在加密字典中)

一旦文档成功打开并解密,PDF阅读器就可以从技术上访问文档的全部内容。PDF加密中没有强制执行加密字典中指定的文档权限的固有内容。PDF阅读器应尊重文件创建者的意图,根据文件中包含的权限限制用户访问加密PDF文件

(ISO 32000-2第7.6.4节标准安全处理器)

因此,这些限制只在协作的PDF处理器中起作用,但特别是在开源PDF库的情况下,程序员删除任何试图实施这些限制的代码都是微不足道的

意识到这一点,开放源代码PDF库的开发人员通常根本不尝试实施这些限制,或者他们添加了一些标志来覆盖限制执行,以防止图书馆的修补副本流通。

因为OP澄清,他问的问题是,他有这些限制的文档是否可以安全地进行文本提取,他没有问如何做(尽管标签中给出了明确的语言和库),这里是关于原则选项的答案,而不是具体的实现

是的,可以从有限制的文档中提取文本,只要文档完全可以读取,并且没有其他方法阻止文本提取。

您显示的限制仅是向PDF处理器指示作者希望允许或不允许用户对其文档执行什么操作的标志,但它们不是技术限制

这些限制只能应用于加密文档,但您肯定希望这些限制特别适用于任何可以打开文档进行阅读的人(您除外),无论是通过知道特定用户密码还是使用空密码

参见规范ISO 32000(此处来自第2部分,与第1部分类似,重点关注PDF查看器):

如果用户试图打开具有用户密码的加密文档,PDF阅读器应首先尝试使用7.6.4.3“文件加密密钥算法”(默认用户密码)中定义的填充字符串对加密文档进行身份验证:

  • 如果此身份验证尝试成功,PDF阅读器可能会打开、解密、呈现并以其他方式提供对文档的访问

  • 如果此身份验证att