【问题标题】:iOS PDF to plain text parseriOS PDF 到纯文本解析器
【发布时间】:2012-09-10 00:14:41
【问题描述】:

我对这个问题很迷茫。我已经在 SO 上阅读了几乎所有关于它的帖子,如果有人能将我推向正确的方向,我将不胜感激。

我有一个 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 代码。

任何帮助将不胜感激。

【问题讨论】:

    标签: ios pdf text extract cgpdf


    【解决方案1】:

    我不能给你建议如何从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。编号应为 以文本空间的千分之一单位表示。

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

    【讨论】:

      猜你喜欢
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-15
      相关资源
      最近更新 更多