正如@ChrisHaas已經解釋過的,沒有代碼和PDF樣本很難具體。
首先,說iTextSharp的設法找到一個給定的字的出現次數的50%左右是iText的(夏普)有點誤導不直接暴露的方法來找到一個PDF和一個特定的文本,因此,實際上找到0%。它僅僅提供了一個框架和一些簡單的文本提取示例。
使用該框架嚴重搜索給定字需要比在結合一些Contains(word)
呼叫應用這些簡單的示例用法(由SimpleTextExtractionStrategy
提供和LocationTextExtractionStrategy,
也使用PdfTextExtractor.GetTextFromPage(myReader, pageNum)
當罩下工作)更多。你必須:
創造出
創建一個文本規範化其
解析連字;
統一了語義上相同或類似的字符的字形替代;
正常化提取的文本和您的搜索字詞,然後才搜索。
此外,正如@ChrisHaas提到的那樣,要特別注意正文中的空格。
如果創建考慮到這些標準基於iText的文本搜索,你一定會得到一個可以接受的命中率。獲得和Adobe Reader一樣好的工作是一項相當艱鉅的任務,因爲他們已經在這個功能上投入了相當多的資源。
爲了完整起見,您不僅應該搜索頁面內容和從那裏引用的所有內容,而且還應該包含可能包含相當一些文本內容的註釋,這些註釋甚至可能顯示爲頁面的一部分,例如,在自由文本註釋的情況下。
來源
2013-03-27 22:18:18
mkl
@Gergo不正確修正:* ocr'ed *並不簡稱* *發生。 – mkl 2014-05-18 16:08:52
@mkl對不起,改回它。謝謝! – 2014-05-18 16:10:20