我的任务是为我们公司创建一个 pdf 阅读器应用程序。经过一些研究,我对 PDF 中的不同运算符感到困惑。以下是我想澄清的几件事:
- 运算符用作每条线的
Tm
起点。(我的理解正确吗?) 如果
Tm
运算符是每一行的起点,我如何解析仅在指定范围内显示的文本Tm
?例如:BT 0 0 1 rg /Ti 12 Tf 1 0 0 1 100 100 Tm 0 0 Td (The quick brown fox ) Tj 0 −13 Td (ate the lazy mouse.) Tj ET //I only want to get the Tj and TJ string being positioned by the Tm
我知道每 1000 个单位的字形高度和宽度相当于 1 个单位的文本空间。因此,如果字形宽度为 2000,高度为 1060,这是否意味着它的“真实”宽度和高度分别为 2 和 1.06?
现在我知道其中一些问题听起来非常愚蠢,但我真的没有太多时间研究。因此,如果有人可以帮助我理解这一点,那将不胜感激。
注意:pdf 阅读器应用程序必须包含搜索和突出显示功能、文本选择、注释、书签等。几乎可以在当今几乎所有可用的阅读器中找到所有基本内容。我可能会为此使用第三方库来让我的生活更轻松,但我最大的问题是文本选择功能。所以我真的需要明白这一点。