【问题标题】:TJ and Tj operators showing garbage values after decodingTJ 和 Tj 运算符在解码后显示垃圾值
【发布时间】:2022-11-16 00:58:08
【问题描述】:

我使用zlib python 库来解码使用FlateDecode 压缩的流。到目前为止,我使用过的所有 pdf 文件都在 TjTJ 运算符中显示了正确的值,但我在解码此 pdf 时遇到问题,因为我没有得到 PDF 中显示的内容。

我能够将文本从 PDF 复制到记事本而没有任何问题,而且pdftotext 正在以正确的单词作为输出给出预期结果。

我还使用 Adob​​e Preflight 来查看文档的内部结构,以仔细检查我通过 zlib 获得的解码文本,但即使这样也显示垃圾值,并且与 PDF 中显示的内容不匹配。

为什么我在文本运算符中得到这个垃圾值,pdftotext 如何仍然能够得到正确的结果?

另外,如何通过 python/zlib 获得正确的结果?

PDF File

【问题讨论】:

    标签: pdf fonts zlib acrobat text-extraction


    【解决方案1】:

    TJ/Tj 运算符中的值是 PDF 代码点(通常是一个字节,有时是两个)。您将需要查看正在运行的字体,然后读取字体编码(有很多种)。 PDF文本提取非常困难。我不建议自己尝试。

    当您看到 PDF 文件中的 PDF 代码点恰好与它们所代表的 unicode 代码点完全相同时,您已经陷入一种错误的安全感 - 即您一直在查看使用简单字体编码的文件。

    【讨论】:

      猜你喜欢
      • 2013-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 2016-03-14
      • 1970-01-01
      • 2017-05-10
      • 2013-07-10
      相关资源
      最近更新 更多