如何将PDF内容编码转换成"(<0034>) Tj"这样的类型?

How to convert the PDF content code to the type like "(<0034>) Tj"?

PDF 内容保存为多种方式,“(abc) Tj”、“(<0035><0035>) Tj”或“\u065”。

我想知道有没有办法将PDF编码转换为一种类型,无论是直接文本“(abc) Tj”,还是十六进制“(<0035><0035>) Tj”,还是八进制“\u065”。

我认为如果将PDF转换和编码为一种类型,将更容易分析内容。

是否可以使用 Ghostscript 或其他工具来做到这一点?谢谢

本质上,不,没有办法这样做。有两种字符串,以'(' 和')' 分隔的常规字符串,以及以'<' 和'>' 分隔的十六进制字符串。十六进制字符串不需要转义,而常规文本字符串需要用于 'special' 个字符,例如回车符 return 和换行符。常规字符串中也允许八进制。

PDF 制作者可以自由地混合和匹配他们喜欢的所有这些,但一般来说,给定的 PDF 制作者通常会始终使用一种技术。

因为 Ghostscript 的 pdfwrite 设备是一个 PDF 生成器,它(我相信)通常会以相同的方式生成所有输出。

不会做的是'convert'您的原始 PDF 文件。它会生成一个全新的 PDF 文件,该文件在视觉上应该看起来相同,但其内部结构与您的原始 PDF 没有任何相似之处。此外,一些元数据或保真度可能会丢失。