在介紹新版前,稍稍解釋下背景知識。html
iText 發佈後,受到不少朋友的歡迎和好評,解決了諸如掃描版 PDF 沒法複製等問題。算法
不過,也有一些朋友有些誤解,以爲 iText 僅僅是調用了 OCR 服務,是個殼而已。其實,並不盡然。bash
雖然,我以爲用戶並不須要知道這些軟件背後的故事,只要軟件好用便可。不過看來,既然有誤解、有好奇,我仍是簡單說起一些吧。微信
OCR 服務識別 後,獲得的是這樣的結果:各文字片段及其位置。app
但,若是根據這些信息還原出天然語境下的段落?這是很難的。測試
好比,對於下面這張圖:優化
OCR 識別出來的結果是相似這樣的(爲了方便示意,我在各行間額外加了空行):spa
3.1新用戶引導
這事的矛盾之處在於:新用戶和老用戶的矛盾。
進一步說,我追求程序的簡潔。尤爲是在用戶對 itext熟悉以後,並不須要程序有過多的描述。好比,文字按
鈕能夠被圖標按鈕取代,用界面上根本看不到的快捷鍵進行操做,等等。可問題是,熟悉是須要一個過程,新
用戶須要屢次操做後,才能掌握這些甚至有些晦澀的技巧。沒有新用戶,又何來老用戶?
這兩者的矛盾,怎麼解決呢?
複製代碼
你可能以爲,這沒什麼呀,我本身手動把多餘的換行符刪掉不就能夠了?你說的對。不過,這樣的體驗並不爽。.net
爲了讓你用的爽、少了這步手動操做,我本身試着列出常見的段落分佈,分析其中的位置規律,實現相應的識別段落的算法。3d
目前來看,效果仍是能夠的:
3.1 新用戶引導
這事的矛盾之處在於:新用戶和老用戶的矛盾。
進一步說,我追求程序的簡潔。尤爲是在用戶對 iText 熟悉以後,並不須要程序有過多的描述。好比,文字按鈕能夠被圖標按鈕取代,用界面上根本看不到的快捷鍵進行操做,等等。可問題是,熟悉是須要一個過程,新用戶須要屢次操做後,才能掌握這些甚至有些晦澀的技巧。沒有新用戶,又何來老用戶?
這兩者的矛盾,怎麼解決呢?
複製代碼
**注:以上是 iText 識別並優化後的結果,未加手工編輯;**其中的標點符號也已修正。
iText 初版發佈後,收到用戶反饋的一些圖片,一些段落的識別有問題。因而,我花了不知道幾個小時,重寫了段落識別相關的算法。目前,對於中英文混排,在使用騰訊服務時,段落識別的效果已經很好了。
不過,並不完美。主要是在一些場景下,除非結合語義識別,不然是沒法僅根據位置信息來劃分段落的。若是你發現有問題的圖,歡迎發給我,我來優化算法。
下面給出一些典型的含段落的圖,你們能夠本身試試。
圖 1:ws4.sinaimg.cn/large/006tK…
圖 2:ws1.sinaimg.cn/large/006tK…
另外,段落識別只是對 OCR 服務優化的一部分,還有文本的優化,好比中英文之間須要增長空格等等。
若是說段落識別很麻煩,文本優化則更多麻煩,根本的緣由在於:須要對內容進行識別。好比:
沒辦法,只能有所取捨。目前,iText 主要完成了這些部分的優化:
目前,若是你在國內使用 iText,默認使用的是騰訊的服務;國外則使用 Google.
若是你有 Google 信仰、或者須要識別日文等其餘語言,能夠 右擊 iText 菜單欄圖標,手動選擇使用騰訊或 Google OCR 服務。
不過,從實測和目前優化的狀況來看,中文仍是建議使用騰訊;你們能夠自行測試。
新版 iText 已上架 Mac App Store,點擊下載
每個月可免費識別 20 次,訂閱 iText 高級版便可無限次識別。高級版限時 6 折優惠:¥3/月、¥30/年,持續至 12.12
若是你以爲 iText 還不錯,還請幫忙 在 App Store 評論;若是你以爲 iText 還能夠改進,歡迎: