iOS - 区分背景文本(水印)和PDF格式的真实文本

Swa*_*oop 5 pdf ios cgpdfscanner

我有一个带有水印的pdf背景.当开始扫描突出显示在背景上带有水印或注释的任何单词时,将首先在触摸区域中找到该单词.

我正在使用CGPDFScanner来扫描文本.

我的问题是如何检测扫描的文本是背景文本还是PDF格式的真实文本?如何区分标准文本和注释文本?

谢谢.

mkl*_*mkl 3

一般来说,您没有机会可靠地区分“背景”和“真实”文本。文本以某种顺序绘制在页面上的某个位置,什么是前景、背景、普通文本……是人类感知的问题,可能根本不会反映在 PDF 内容流的结构中。

您可以尝试一些有根据的猜测,例如假设“真实”文本为浓色,而背景文本为浅色,或者“真实”文本以水平线排列,而背景文本通常更对角线等。但这只是猜测毕竟,没有什么可以确定的。

另一方面,如果是带标签的 PDF,您可能有机会将水印标记为工件数据。

PS我刚刚看到你再次分享了你的文件。如果您的文档中我提到的启发式方法可行,背景文本是灰色的并且对角打印。

因此,在扫描时,您必须跟踪填充颜色和/或变换矩阵。一旦扫描仪找到文本,您就可以根据当前颜色和/或矩阵值知道它是背景还是前景。

但请注意,并非所有文档都那么容易。