簡單介紹
“Kindle的PDF閱讀外掛”新版Kindlepdfviewer正式更名為Koreader。Koreader是在GPLv3協定下開放原始碼的Kindle閱讀器,支持PDF,DJVU,EPUB, MOBI, TXT, XPS, CBZ, FB2, HTML, RTF, CHM, DOC, ZIP等幾乎所有主流電子書文檔格式。Koreader默認運行在Kindle原生系統里,只需要在原生系統中打開Koreader程式就可以使用,關閉Koreader程式就回到了原生系統界面,切換很方便。Koreader可以運行在Kindle Touch和Kindle Paperwhite設備上。Koreader對非觸屏Kindle設備Kindle 2、Kindle DX(G)、Kindle 3、Kindle 4的支持會逐步加入,這些設備可使用老版本的Kindlepdfviewer或者Librerator。
重排功能的開發
Koreader的重排功能離不開另一個開源軟體項目K2pdfopt(GPLV3協定發布)。K2pdfopt也是為了解決PDF文檔在小螢幕Kindle上閱讀的排版問題而開發的。與其它PDF預處理軟體相比,它有很多獨一無二的特性,比如自動化程度很高,能夠自動識別多欄排版的文檔進行分欄,自動去除頁面白邊,自動對掃描文檔進行水平校正,以及最重要的基於圖像分割的重排版算法。K2pdfopt使用完全基於圖像處理的方法對文字重新排版,軟體處理時會把原始PDF/DJVU頁面放大再分割成以詞為單位的像素區域,把這些像素區域重新排列到目標寬度的頁面中,所以理論上只要能夠讀取文檔的頁面像素就可以對其中的文字進行重新排版。這個算法的前提是頁面中的文字之間需要有一定的空隙,以提供分割像素區域的位點。更多K2pdfopt的處理效果請參考這篇文章用K2PDFopt重排版面,隨手解救掃描PDF 。
K2pdfopt被移植到Koreader/Kindlepdfviewer以後就可以在閱讀時讓PDF重新排版。實時重排可以省去電腦上處理PDF的步驟,並且可以在kindle上互動式地微調排版參數,儘可能地生成滿意的排版。使用Koreader的重排模式閱讀時,軟體會自動把當前頁和下一頁重排版成適應螢幕的尺寸。