iOS PDF到纯文本解析器

我对这个问题很感兴趣。 我在这里几乎阅读了关于它的每一篇文章,如果有人能在正确的方向上推动我,我将非常感激。

我有一个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规范)这些数字的含义。 有人说,你不应该害怕PDF规范,但坦率地说,我发现它们不易于阅读/理解。

我研究过PDFKitten代码很有帮助。

任何帮助将不胜感激。

我不能给你建议如何从PDF中提取单词,但格式为

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

例如,在PDF 1.7规范的 “9.4.3文本显示操作符”部分中进行了解释。 TJ运算符的描述是:

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

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