1

我有一个 PDF 文件,我尝试使用PDF Renderer解析它并遇到以下问题:

(1) 一些名称树的限制定义为下限或上限为 NULL。该规范并没有真正说明如何处理这些问题:

(Intermediate and leaf nodes only; required) An array of two strings, specifying
the (lexically) least and greatest keys included in the Names array of a leaf 
node or in the Names arrays of any leaf nodes that are descendants of an
intermediate node. 

因此,如果任何边界为空,我基本上假设一个开放范围,如果两个限制都为空,我将尝试在名称中找到键。这个假设正确吗?

(2) 在从 (1) 进行假设时,在同一个 PDF 文件中,即使我正在寻找的密钥符合限制定义的范围,但密钥不存在,但必须查看以下孩子。我想这仍然是正确的?

(3) 最后,仍然在同一个 PDF 文件中,有不遵循的名称

key1 value1 key2 value2 ... keyn valuen

规范中定义的序列,但以一个值开头:

value0 key1 value1 ... keyn valuen

并以一个值结束。所以在这种情况下,我只是跳过第一个值,冒着映射错误的风险。再说一次,对吗?

我的猜测是:

  • PDF格式不正确
  • 要么它使用了一些 1.6 的功能,这完全混淆了库并导致上面列出的症状

我想对库进行更改以处理有问题的 PDF 文件,而不会破坏现有代码。

更新:为了纠正这个问题,我最终决定不处理上述所有问题,而是在其他地方解决这个问题。问题最初是在阅读大纲中的动作时出现的。现在将简单地忽略可能的“错误”操作。这是对应的补丁。

4

0 回答 0