PDF單詞粘連
所謂“PDF單詞粘連”,就是某些文本型的PDF文件,當用Adobe Reader(或其它任何能打開(kāi)PDF文件的軟件)打開(kāi)瀏覽時(shí),看到的內容沒(méi)有任何異常。但是當從里面復制英文段落時(shí),對于英文部分得到是一串連在一起的英文字母,英文單詞之間的空格都丟失了。無(wú)論粘貼對象是Word還是UltraEdit或記事本,都是一樣的結果。對于這樣的PDF文件,不論用什么PDF瀏覽器,諸如Adobe Reader、FoxitReader還是什么Apabi或CajViewer。這樣的PDF文件雖然不影響瀏覽,但是不能對英文內容創(chuàng )建索引,所以也不能檢索。
產(chǎn)生單詞粘連的原因
單詞粘連的原因是字符的寬度信息不正確。在PDF內部,沒(méi)有通常意義上的“
空格”來(lái)分隔單詞,單詞之間的空格是靠字符之間的距離來(lái)判斷并添加的,在執行判斷時(shí),需要使用字符的寬度信息,這個(gè)信息來(lái)自于PDF中對字體的描述,而不是我們在頁(yè)面上看到的字符的實(shí)際寬度,在正常字體中,寬度信息應比實(shí)際寬度大一些,大多少沒(méi)有統一的標準,所有出現單詞粘連問(wèn)題的PDF文件中,都是寬度信息比實(shí)際寬度大很多。如下圖中所示,藍色區域是字符"e"的寬度信息,它比"e"的實(shí)際寬度要大很多,以寬度信息是無(wú)法界定在"e"和后面的"v"之間應添加一個(gè)空格的。
修復結果
如下圖中的頁(yè)面,在修復之前復制得到的是一串連在一起的字母。而修復之后呢,我們得到的是清晰的單詞。
修復之前復制得到的結果,可以看到每一行中所有的單詞都是連成一串,不具備可讀性。
這是修復之后復制得到的結果,可以看到所有的單詞都被正確地用空格隔開(kāi),可以進(jìn)行閱讀和建立索引。
修復策略
在修復的過(guò)程,有一條基本原則是,不能破壞原始的版面,即修復后的PDF文件在瀏覽時(shí)與原始PDF文件有相同的呈現效果,另外在修復 過(guò)程不需要人為干預,軟件自動(dòng)判斷字體是否存在問(wèn)題,對于存在問(wèn)題的字體,根據問(wèn)題現象分類(lèi)進(jìn)行修復,包括調整字體和版面,然后輸出正確的文件。為了保證修復不破壞原始PDF文件的版面,每個(gè)文件修復完成后,都會(huì )與原始文件進(jìn)行比較,以確認是否在修復過(guò)程導致文件被破壞,并產(chǎn)生一個(gè)日志文件保存每個(gè)文件的結果。
修復要求
PDF文件在修復之前不能存在亂碼問(wèn)題,原因是在判斷一個(gè)字體是否是存在問(wèn)題時(shí),需要使用字符的正確編碼,如果編碼不正確,則修復結果是不可預期的。是否存在亂碼問(wèn)題及修復過(guò)程請瀏覽
PDF亂碼修復
樣例文件
[原始文件][修復結果]