KOREADER —— KINDLE 的 PDF 文档重排插件

一、KOReader 是什么?

Koreader 是在 AGPL 协议下开放源代码的阅读软件,支持PDF, DJVU, EPUB, TXT, MOBI, XPS, CBZ, FB2, HTML, RTF, CHM, DOC, ZIP等几乎所有主流电子书文档格式。Koreader 默认运行在 Kindle 原生系统里,只需要在原生系统中打开 Koreader 程序就可以使用,关闭 Koreader 程序就回到了原生系统界面,切换很方便。目前Koreader可以运行在Kindle Touch和Kindle Paperwhite设备上。

二、什么是 PDF 文档重排?

使用6寸屏幕的 Kindle 阅读 PDF 文档时,如果该文档不是专门为小屏幕阅读器优化排版,会出现显示字体太小造成阅读不便的情况。加上Kindle的屏幕刷新率太低,以页面局部放大后再拖动页面区域阅读也很不方便。解决这一问题目前常用的方法有以下三种:

  • 1、用诸如 Briss 裁边软件去掉 PDF 文档页边空白使可阅读区域尽量大,再把裁边后的 PDF 文档放到 Kindle 中阅读。虽然经过这样处理,部分 PDF 文档可以获得比较好的阅读效果,但是仍有一部分文档经过处理之后的页面依然过大,不完美。
  • 2、使用OCR(光学字符识别)软件把 PDF 文档中的文字提取出来并转换为其他可重新排版的文档格式,如 txt 和 mobi 等。但是因为 OCR 识别存在一定的错误识别率,这种方法还不能保留文档原有的排版样式(如字体、字号和图表公式等),因此这种方法的应用范围有限,仍然不完美。
  • 3、使用阅读器提取出文档中的字符和样式,以适应屏幕宽度的方式重新排版(称为文字回流,Text Reflow)。这种方法虽然可以保留字体样式信息,但是对于图表和公式的支持和上一种方法一样不够好,而且这种方法的另一个缺陷是不能重排扫描版的文档,因为扫描版文档中无法提取出字符和格式信息,还是不完美。

三、Koreader 如何重排 PDF 文档?

Koreader 这款软件采用图像分割再重排的方式处理 PDF 文档(包括扫描和非扫描页面),这样不仅支持文字版PDF重排和数学公式的重排,还能对扫描版 PDF 和 DJVU 文档进行重新排版。重新排版后的文档,文字放大后可以适应屏幕自动换行,免去不断地左右拖动页面阅读。此外,KOReader 还有调整页面对比度、对文字加黑处理、自动切除页面白边、去除页面水印等实用功能。

Koreader 的重排功能依赖另一个开源软件项目K2pdfopt(GPLV3协议发布)。K2pdfopt 也是为了解决 PDF 文档在小屏幕 Kindle 上阅读的排版问题而开发的。与其它 PDF 预处理软件相比,它有自动化程度高等独一无二的特性,能够自动识别多栏排版的文档进行分栏、自动去除页面白边、自动对扫描文档进行水平校正以及最重要的基于图像分割的重排版算法。K2pdfopt 使用完全基于图像处理的方法对文字重新排版,软件处理时会把原始 PDF/DJVU 页面放大再分割成以词为单位的像素区域,把这些像素区域重新排列到目标宽度的页面中(原理如下图),所以理论上只要能够读取文档的页面像素就可以对其中的文字进行重新排版。这个算法的前提是页面中的文字之间需要有一定的空隙,以提供分割像素区域的位点。


K2pdfopt 被移植到 Koreader 以后就可以在阅读时让 PDF 重新排版。实时重排可以省去电脑上处理 PDF 的步骤,并且可以在 kindle 上交互式地微调排版参数,尽可能地生成满意的排版。使用Koreader 的重排模式阅读时,软件会自动把当前页和下一页重排版成适应屏幕的尺寸。

四、PDF 文档重排效果是什么样的?

重排带多栏排版的页面

下图是Koreader对多栏排版的PDF页面带图和带样式的重排效果,左侧为重排前的原始页面,其中图像占据两栏的宽度,而重排之后图像仍然完整地显示,文字部分被重排为一栏显示:


转自书伴


淘宝网首页搜店铺:小叮当的电子书 可直达本店,买阅读器,找小叮当!来人来函,一律欢迎!点此段文字可直接进入店铺

发布于 2021-01-21 15:25

文章被以下专栏收录