2015-06-19 46 views
5

我有一個pdf在背景上有水印。當開始掃描以突出顯示任何帶有水印或背景註釋的單詞時,會在觸摸區域中首先找到它,然後進行選擇。

我正在使用CGPDFScanner掃描文本。

我的問題是如何檢測如果掃描的文本是背景文本或PDF中的實際文本?如何區分標準文本和註釋文本?iOS - 在PDF中區分背景文字(水印)和真實文本

謝謝。

+1

不幸的是,我無法下載您的PDF,我按下了文件共享服務頁面上的按鈕,但頁面只是刷新。儘管如此,你一般沒有機會區分「背景」和「真實」文本。如果有*標記的PDF文件,您可能有機會,水上樂園可能被標記爲人工製品數據。 – mkl

+0

@mkl:請將您的評論轉換爲真正的答案,以獲得我的讚賞。 :-) –

+0

@mkl對不起,我會再次分享文件。 – Swaroop

回答

3

一般來說,你沒有機會可靠地區分「背景」和「真實」文本。文本以某種順序在頁面上的某個位置繪製,而前景,背景,正常文本......是人類感知的問題,可能完全不會反映在PDF內容流的結構中。

你可以嘗試一些有教養的猜測,例如,假設「真實」的文本是強烈的顏色,而背景文本是淺色的,或者「真實的」文本是橫排的,而背景文本通常是更對角的,等等。但這畢竟是猜測,沒什麼可依賴的當然。

另一方面,如果標記爲PDF,您可能有機會,水印可能被標記爲工件數據。

PS我剛剛看到您再次分享了您的文件。如果您的文檔中提到的啓發式會起作用,那麼背景文本是灰色的並且是對角打印的。

因此,掃描時必須跟蹤填充顏色和/或轉換矩陣。只要掃描儀找到文本,就可以根據當前的顏色和/或矩陣值知道它是背景還是前景。

請注意,儘管如此,對所有文檔來說都不那麼容易。

+0

感謝您的答覆:)。我想到了一個基於水印文本高度和寬度的猜測。它可以是啓發式的權利之一嗎?掃描時, 矩形我得到的文字是採取3/4的頁面,所以我可以決定跳過這個基礎以及?或者它可能會出錯? – Swaroop

+0

這也是另一個啓發式規則。但請注意,啓發式算法畢竟是猜測,並且每隔一段時間都會失敗。 – mkl

+0

好的..非常感謝您的幫助。 :) – Swaroop