iOS PDF到纯文本解析器

时间:2012-09-17 18:22:20

标签: ios pdf text extract cgpdf

我对这个问题很感兴趣。我已经在这里读了很多关于它的帖子,如果有人会把我推向正确的方向,我会非常感激。

我有一个PDF,我想提取它的文字,我只对文字和空格感兴趣。我已经设置了CGPDFScanner和它的回调方法。我所读到的是,就提取文本而言,我只需要考虑4个运算符TJ,Tj,qout(')和doubleqout(“)。

我想我还需要跟踪文本空间,以便能够确定字母是组合在一起形成一个单词还是应该用空格分隔。但我不知道如何做到这一点。

在PDF中,所有文本都采用

格式
[(X)-24.2524(X)-24.2524(X)-24.2524(Y)-24.2524(Y)-24.2524]TJ

但我无法弄清楚(使用PDF规范)这些数字的含义。 SO上有人说你不应该害怕PDF规范,但坦率地说,我发现它们不容易阅读/理解。

我研究过有用的PDFKitten代码。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:6)

我无法向您提供如何从PDF中提取单词的建议,但格式为

[(X)-24.2524(X)-24.2524(X)-24.2524(Y)-24.2524(Y)-24.2524]TJ
例如,在PDF 1.7 Specification,“9.4.3文本显示操作符”部分中解释了

TJ运算符的说明是:

  

显示一个或多个文本字符串,允许单独的字形定位。   数组的每个元素应该是字符串或数字。如果   element是一个字符串,此运算符应显示该字符串。如果是的话   编号,经营者应按该数额调整文字位置;   也就是说,它应翻译文本矩阵Tm。号码应该是   以千分之一单位的文本空间表示。

所以数字是调整字母之间的距离。