我有一個pdf在背景上有水印。當開始掃描以突出顯示任何帶有水印或背景註釋的單詞時,會在觸摸區域中首先找到它,然後進行選擇。
我正在使用CGPDFScanner掃描文本。
我的問題是如何檢測如果掃描的文本是背景文本或PDF中的實際文本?如何區分標準文本和註釋文本?iOS - 在PDF中區分背景文字(水印)和真實文本
謝謝。
我有一個pdf在背景上有水印。當開始掃描以突出顯示任何帶有水印或背景註釋的單詞時,會在觸摸區域中首先找到它,然後進行選擇。
我正在使用CGPDFScanner掃描文本。
我的問題是如何檢測如果掃描的文本是背景文本或PDF中的實際文本?如何區分標準文本和註釋文本?iOS - 在PDF中區分背景文字(水印)和真實文本
謝謝。
一般來說,你沒有機會可靠地區分「背景」和「真實」文本。文本以某種順序在頁面上的某個位置繪製,而前景,背景,正常文本......是人類感知的問題,可能完全不會反映在PDF內容流的結構中。
你可以嘗試一些有教養的猜測,例如,假設「真實」的文本是強烈的顏色,而背景文本是淺色的,或者「真實的」文本是橫排的,而背景文本通常是更對角的,等等。但這畢竟是猜測,沒什麼可依賴的當然。
另一方面,如果標記爲PDF,您可能有機會,水印可能被標記爲工件數據。
PS我剛剛看到您再次分享了您的文件。如果您的文檔中提到的啓發式會起作用,那麼背景文本是灰色的並且是對角打印的。
因此,掃描時必須跟蹤填充顏色和/或轉換矩陣。只要掃描儀找到文本,就可以根據當前的顏色和/或矩陣值知道它是背景還是前景。
請注意,儘管如此,對所有文檔來說都不那麼容易。
不幸的是,我無法下載您的PDF,我按下了文件共享服務頁面上的按鈕,但頁面只是刷新。儘管如此,你一般沒有機會區分「背景」和「真實」文本。如果有*標記的PDF文件,您可能有機會,水上樂園可能被標記爲人工製品數據。 – mkl
@mkl:請將您的評論轉換爲真正的答案,以獲得我的讚賞。 :-) –
@mkl對不起,我會再次分享文件。 – Swaroop