Pdf轉(zhuǎn)為word文檔,大家有沒有過這樣的操作? 如果Pdf里面本來就是文字(鼠標(biāo)可以在上面拖選文字),轉(zhuǎn)成word其實(shí)是比較簡單的;可能最大的問題就是換行、分段不自然。 而如果Pdf里面的文字是印在圖片上的(鼠標(biāo)無法拖選上面的文字),那只能通過識(shí)別圖片上的文字,再組成word文檔??赡軙?huì)把文字識(shí)別成形近字或一些奇怪的符號(hào)。(識(shí)別圖片上文字的功能簡稱OCR,下文中用此簡稱) 而通過OCR識(shí)別出來的內(nèi)容,很容易出現(xiàn)這樣的情況: 上面紅色圈出來的字,是不是和別的字看著有點(diǎn)不同呢? 這些字,只有“微軟雅黑”這種包含強(qiáng)大字符量的字體才能顯示出來,普通字符量的字體壓根顯示不出它。 所以圖片型Pdf轉(zhuǎn)成word文檔,可能會(huì)出現(xiàn)某些文字無法改變字體的情況。 大家有沒有遇到過呢? 今天,來給大家分析一下出現(xiàn)這種情況的原因及解決辦法,或許等到某一天你遇到這種情況的時(shí)候,用得上呢! 原理其實(shí),這些字不是我們所看到的字。 這里面的“?”、“?”、“?”、“?”等字,并不是我們所認(rèn)識(shí)的“自”、“用”、“子”、“生”。在字符集里面,它們擁有著不同的編碼。 他們只是看著長得像,其實(shí)在字符里面,完全是不同的東西。 經(jīng)過查資料明白:原來這些字符是Unicode編碼里面的“康熙部首”。 由于這一部分的文字的編碼是“2F00-2FD5”,而普通漢字的編碼是“4E00-9FA5”。 這些怪文字的編碼在普通漢字編碼的前面,所以O(shè)CR軟件先使用了它們! 這就是OCR識(shí)別文字出現(xiàn)這種情況的原因,大家明白了沒? 其實(shí)OCR軟件只需要在識(shí)別時(shí)設(shè)置好編碼范圍,就能避免這種情況。開發(fā)者居然沒發(fā)現(xiàn)、也沒用戶反饋嗎? 如何解決早在1月8日,胡大師就和我討論過這個(gè)問題: 當(dāng)時(shí)也已經(jīng)看了字符的編碼,發(fā)現(xiàn)了這些怪字符的編碼非同尋常。 但當(dāng)時(shí)沒有深入研究,最終一句“這不好處理,沒對(duì)應(yīng)”就沒有再管它。 而前天晚上,這個(gè)問題再次在一個(gè)群里被提起。 最關(guān)鍵的是,寫這篇文章的時(shí)候才發(fā)現(xiàn):這個(gè)文檔居然和1月8日那個(gè)文檔是同一個(gè)! 于是后來,和一位大神一起討論,最終決定給這一組“奇怪”的字符找到他們一一對(duì)應(yīng)的正常字符,然后把它們替換掉,大概就是這樣: 把理論的想法,寫成代碼,放進(jìn)插件: 點(diǎn)一下,就能把這些奇怪的字符,變成正常的字符啦!至少代碼是怎么工作的,大家完全不用操心~ 這個(gè)功能已經(jīng)上線到“不坑盒子_word”這個(gè)插件的2023.0218版中,安裝了老版插件的小伙伴們一鍵更新后就會(huì)與它見面。 一個(gè)小小不起眼的功能,背后可能是無數(shù)次的嘗試。看,這個(gè)功能不就折騰到凌晨1點(diǎn)嗎? 怎么樣?還不點(diǎn)個(gè)贊嗎? |
|