iOS版PDF为纯文本解析器(iOS PDF to plain text parser)

2019-09-22 12:44发布

我很在就这个问题丢失。 我看过几乎每一篇关于它在这里的话,我将非常感激,如果有人会轻推我在正确的方向。

我有一个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码这是有帮助的。

任何帮助将不胜感激。

Answer 1:

我不能给你建议如何提取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。 数量应在文本空间单位的千分之一来表示。

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



文章来源: iOS PDF to plain text parser