电子杂志的主流发布形式为epub、pdf和html,这些格式之间的免费转换工具有很多。
不过免费开源的可以编程进一步扩展的工具不多。如下是其中几个比较主流的。
1、calibre
http://calibre-ebook.com/about
这个工具是基于python/qt的,跨平台,功能强大,搜索方便。可以选择发布设备(支持各种主流的移动设备和平板设备),
不过是本地运行的客户端工具,需要安装,在修改后需要发布升级。协同工作也不方便。
2、epublib
http://www.siegmann.nl/epublib
这是一个可以管理(读写)epub格式文件的java类库,同时提供一个命令行工具。
这样你可以自行选择单独运行工具或者集成到你的管理平台中去。
epublib包含core和tool两部分,其中core可以运行在Android设备或者标准java虚拟机上。
epublib支持把多个html文件含css打包成epub文件,且支持把chm文件转换成epub,另外还可以标准化epub文件。
3、htmldoc
http://www.htmldoc.org/
这个可以运行在webserver上(apache),支持把html转换为pdf等格式
4、objavi
https://github.com/sourcefabric/Objavi/blob/master/README.txt
这个工具比较复杂,功能也比较强大,可以和booktype结合起来使用,把booktype的书籍数据(部分文件,部分数据库)转换成epub/pdf/odt等格式。
安装和htmldoc类似,需要一个webserver(apache),以CGI服务的方式提供。
参考上面的工具,想要编程解决生成epub文件,基本步骤如下:
- 把HTML转换为XHTML (+ CSS)。这个可以通过程序后者一个XSLT文件
- 把你的内容文件(XHTML, CSS, any images and fonts) 拷贝到一个符合指定格式的目录结构中
- 打包这个文件夹并以.epub命名这个压缩文档
下面是一些有帮助的关于epub格式的网站:
- epub的文件内容组织形式: http://www.jedisaber.com/ebooks/tutorial.asp.
- epub标准文档: http://www.idpf.org/
- epub文件有效性检查工具: http://code.google.com/p/epubcheck/
iefreer