Qpdf 在文本编辑器中查看文本

Qpdf 在文本编辑器中查看文本

我用过 qpdf

qpdf --qdf --object-streams=disable orig.pdf expanded.pdf

作为参考https://unix.stackexchange.com/a/109177/306249

我可以在文本编辑器中看到所有对象。但我无法查看 pdf 中的文本。

我用 pdf 中的“Hello world”文本进行了测试。但解压后看不到这段文字。

如何用对象查看文本?

答案1

即使在扩展所有对象之后,文本(字符串和单个字符)也不需要以 ASCII 表示,它们可以是十六进制编码的。

要查找文本,请按照下列步骤操作:

  1. 在展开的 PDF 中,查找所有名为 的键/Contents。它可能看起来像:

    /Contents 8 0 R
    

    这告诉您相应页面的内容位于对象号 8 中。

  2. 转到对象编号 8。这可以通过搜索字符串找到'8 0 obj'

  3. stream ... endstream在下面的行中,如果您在行尾看到以下任一行,则用行括起来:

    ...TJ,Tj,'或者"

    你会有一个显示运算符的文本在上班。

  4. 前一行包含文本,但它可能看起来像:

    [(H)0.0976563(e)0.0976563(l)-599.902(l)0.0976563(o)0.0976563(W)0.0976563(o)-599.902(r)0.0976563(l)0.0976563(d)0.0976563(!)]TJ
    

    嘿,你很幸运!你能解读“Hello World!”吗?字符串在这里?中间的数字只是为了控制各个字符的位置......

  5. ....现在我将停止教授 PDF。您可以阅读官方 PDF 格式规范中的所有详细信息:-)

    还有一个提示:如果您搜索
    我在 StackOverflow 上其他与 PDF 相关的答案,

    您可能会发现很多示例,其中详细介绍了如何阅读 PDF 代码。

相关内容