在PDF中查找文本:Tm还是Td / TD?

时间:2012-06-25 11:57:27

标签: objective-c ios xcode ipad pdf

我知道此问题之前已被问过几次,但我只想澄清一下。我有一个PDF阅读器,我想添加一个高亮功能。我已经可以通过解析TjTJ运算符来提取文本。现在我想以pdf格式找到文本的位置。

起初我试图找到Tm值。我能够提取Tm的(x,y),但它似乎不正确。所以我决定去TdTD。问题是,似乎pdf不包含任何TdTD值,因为从不调用运算符回调。 (我在回调中放了一个日志,看它是否被调用,但它从未出现过。)

所以我的问题是,如果我想在PDF格式中找到文本的位置,我应该查看哪些内容? Tm值或Td/TD值?或者两者兼而有之?

其他问题:

Tm有六个参数:a, b, c, d, ef。我知道ef代表txty,但其他四个参数代表什么?

1 个答案:

答案 0 :(得分:2)

您需要处理所有文本操作符,您还需要知道其中一些是如何工作的。例如,在绘制字形之前,垂直书写字体将应用W2条目将水平字形原点移动到垂直字形原点。

除了Tm,TD和Td之外你需要处理T *,除了TJ和Tj之外你需要处理'和'如果你想知道文本在一个'show'操作中的位置,那么你也需要考虑Tc,Tw,Tz,TL和Ts的值。

您可能还需要处理当前转换矩阵。