【问题标题】:Unfamiliar format in pdf difference arraypdf差异数组中的不熟悉格式
【发布时间】:2019-03-15 20:50:22
【问题描述】:

我正在尝试解码 pdf 以从中获取文本,但我在使用差异数组时遇到了问题。我从正在处理的文档中提取的差异数组采用以下格式:

'BaseEncoding': 'WinAnsiEncoding', 'Differences': [1, 'g39', 'g38', 'g51', ';#23#23#23', ';#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23#23', 'g40', 'g79', 'g72', 'g70', 'g87', 'g85', 'g82', 'g81', 'g76', 'g54'...]

我找到了有关如何使用其他格式的差异表的解释,例如:

/Differences [ 24 /breve/caron/circumflex/dotaccent/hungarumlaut/ogonek/ring/tilde 39 /quotesingle 96 /grave 128 /bullet/dagger/daggerdbl/ellipsis... ]

数字代码告诉你要使用什么字符,但我似乎找不到关于如何使用第一种差异表的解释。

编辑:这是file

【问题讨论】:

  • 请分享您在其中找到第一个语法的 pdf。因为它显然不是pdf语法。
  • 从技术上讲,您必须使用 ToUnicode cmap 在第一种情况下提取文本。如果它不存在,您可以简单地剪切前面的“g”并将数字用作字符代码,但我不能保证结果有效。这不是标准的,它只是一个 hack。

标签: pdf encoding cp1252


【解决方案1】:

ISO PDF32000-1:2008 规范的第 9.6.6 节字符编码将 /Encoding 字典的差异键描述为:

描述与 BaseEncoding 指定的编码的差异的数组,如果 BaseEncoding 不存在,则描述与隐式基本编码的差异。差异数组将在后续子条款中描述。

在这种情况下,它指定了与 WinAnsiEncoding 的差异。

【讨论】:

  • 您链接的文档提供了与第二个数组匹配的示例并解释了如何解释它。我不确定我是否错过了它,但我找不到任何与我的帖子中第一个数组的格式相匹配的示例或解释。你能解释一下我将如何解释第一个数组吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-03
  • 1970-01-01
  • 2021-01-06
  • 2010-10-08
  • 1970-01-01
  • 1970-01-01
  • 2015-07-15
相关资源
最近更新 更多