linux下浏览CHM及其它文件格式电子书

红薯 发布于 2009/05/08 12:02
阅读 937
收藏 2

现在网上的电子图书绝大部分都是pdf、chm、wdl和word文档doc格式。也有部分图书采用纯文本txt格式。txt格式在linux下可用文本阅读器打开,灰褂玫膌inux平台支持中文显示,使用上不存在什么问题。pdf格式由于使用广泛,在linux下也得到了良好支持,可以使用xpdf,KGhostView等打开阅读,还可以到www.adobe.com去下载linux版的Acrobat Reader(最新版本为5.0),使用上也没有太大问题。而且与txt相比,pdf支持图像显示,超链接等功能,使用上自然更加方便。对于其它电子图书格式,如chm、wdl以及超星电子图书格式,由于没有在linux平台下的阅读工具,使用十分不便。特别是对于学习在linux平台下操作和编程的图书,需要一边看书,一边操作,时常需要在windows和linux两种平台下来回切换,操作极为麻烦。笔者因需要在linux平台下学习编程,下载的几本电子图书都是chm或者wdl格式,不得不在widows下看一部分,再重新启动到linux操作一部分,然后再启动到windows,再学习一部分,然后再换回linux.如此反复折腾,时间长了,人和机器都受不了。我也在网上搜索过,除了找到一大堆“chm、wdl在linux怎么用”之类问题,没有找到什么好的解决办法。一天,在linux下使用Kwrite时无意之中打开打印菜单,显示出来的打印机里有一项是Acrobat PDFWrite,按下打印按钮,输入要保存的文件名,再用AcrobatReader打开察看,一切显示正常。原来一篇文章可以这样变成了pdf格式,如果能将windows平台下的电子图书都用这种方法转换成pdf格式,以后使用不就是大大方便了。于是重新启动到windows平台,经过一阵摸索之后,找到了两种异曲同工的解决方法,一种是打印成ps格式,另一种是打印成pdf格式。前一种转换方便,通用性强,但效果较差。后一种有诸多优点,但需要专门的软件支持。

    一、 将电子图书转换成ps格式

    绝大多数windows平台下的阅读工具都具备打印功能,因此采用打印到文件的办法转换图书格式是简单易行的。首先在windows的控制面板里看看自己的系统里有没有打印机,如果没有,就添加打印机,注意:添加的打印机必须是支持PostScript格式的,其它的参数设置选择默认即可。在我的系统上我选择的是HP LaserJet ⅢSi PostScript v52.3打印机,然后到阅读工具的打印菜单,选择打印,选择好打印机,关键的一步就来了,此时一定要选上“打印到文件”,按下“打印”后,再指定文件的保存路径和文件名,按下“确定”之后,一个后缀名为prn的文件就在你指定的目录下生成了。如果没有什么意外的话,重新启动到linux,用GhostView打开这个文件,应该能看到文件的内容。下面以chm格式的Effective C++为例,详细讲述整个过程。

    在windows下安装好打印机后,运行effectiveC++.chm文件,出现阅读界面。在上方的工具条上点击打印图标,出现一个标题为“打印主题”的选择窗口,默认选择为“打印选定主题”,改为“打印选定主题及全部次标题”,点击“确定”,出现打印界面,选择好打印机(在我的系统上为HP LaserJet ⅢSi PostScript v52.3打印机),然后点击在“打印到文件(F)”前的方框,点击“打印”,会出现一个“打印到文件…”的对话框,指定文件的保存路径和文件名后,点击“确定”即可生成prn文件。然后重新启动进入linux,运行ghostview或kghostview即可查看,而且文本和图像均可显示。

    Word文档格式doc的转换也很简单,只要在word里选择打印,然后按上述过程操作即可。其它的电子图书格式如wdl也完全可以如法炮制。不过转换之后的prn文件体积可不小。一本300多页的《linux参考大全》第一部分转换后就有近8兆。超星电子图书格式也完全可以如此办理。只要阅读工具支持打印,任何格式的电子图书都可以用这种方法转换成ps文件。

    存在的问题:将电子图书转换成ps文件或多或少会存在一些问题,如某些字体会发生变化,chm转换的ps文件没有超链接等等。如果文字显得太浅,不太看得清楚,可以换一种打印机试试,有些打印机驱动程序可以设置分辨率,转换之后的效果要好一些。对于wdl文档,如果发现转换后字体互相重叠,可以在打印时将纸张定义得宽一些。

    二、 将电子图书转换成pdf格式

    与转换成ps格式一样,转换成pdf也要用打印方式。不过,这次所用的打印驱动程序只能是adobe的PDFWrite.要安装这个打印机驱动程序,最好的方法是安装adobe公司提供的Acrobat软件,这里要注意不是大家常见的AcrobatReader,Acrobat是用来制作pdf格式文件的,可以将各种电子文档制作成pdf文件。而AcrobatReader只能阅读和打印pdf文件,而不能制作pdf文件。Acrobat本来可以在adobe网站上下载,但要有帐号。所以我选择了国内的站点下载了Acrobat 5.0,这个东东可不小,有108兆。安装时要使用自定义方式,这样才能选择安装PDFWriter和亚州字体。安装好后,会出现分别一个Acrobat PDFWriter和Acrobat Distiller打印机。这里我们只用PDFWriter打印机。操作方法与转换成ps类似,选择打印机时一定要选择PDFWriter,但不要选中“打印到文件(F)”,直接点击“确定”,会自动出现一个对话框,让你指定文件的保存位置和要保存的文件名,确定之后即可生成文件。有条件的朋友也可直接安装PDFWriter,但要有adobe exchange的支持。

    pdf格式有一些优点是ps没有的。比如转换后的chm文件仍然保持了超链接的功能,给使用带来方便,同时能较完整的保持原文件的风貌,因此我推荐有条件的朋友采用这种方式。

    在转换wdl文档时,也会出现字体重叠的毛病。经过反复试验,发现将纸张定义为400×400可以保证字符之间有足够的间距。同时将分辩率设置为600,这样转换之后字体会清晰一些。

    其实有很多网友可能已经无师自通,找到了这两种方法。但有更多的网友,特别是菜鸟经常询问类似的问题。所以我撰写此文,希望能给大家帮点忙。如果谁有更好的方法,可以到网上发贴与大家交流。也可以直接发信给我,我的电子邮箱为kangjie501@hotmail.com。(T002)

加载中
0
兰穆达
兰穆达
太麻烦了:) 我记得OSC有收录一个开源chm阅读器软件. 另外WINE运行WDL阅读器行不?
0
冰雪晨

unix下chm阅读器挺多的,无需转换的

0
mallon
mallon

firefox有个chm扩展的

返回顶部
顶部