EPub是一个自由开放的电子书标准。相比于PDF这种样式比较「固定」的文档,EPub更类似于网页,它在不同电子设备上阅读都具有较好的效果,EPub阅读器通过覆盖电子书页面的CSS样式,很容易实现调整背景、字体颜色大小等功能,以获得对应设备下最好的显示效果。
简单来说,PDF是比较适合打印和出版的文档格式,而EPub则是专为电子阅读媒介设计,它是一种在PC、智能手机、平板电脑、Kindle等平台下都具有良好的显示效果,适合在各种电子设备上阅读的电子书格式。
EPub内部由多个HTML(XHTML)页面组成,制作电子书时通过HTML和CSS对文字图片内容进行排版,除此之外还包含若干XML格式的元数据配置文件,这些文件最终以ZIP格式压缩归档,此时这个压缩包就可以被识别为.epub
电子书。因此实际上,我们可以用解压缩软件打开EPub文档,并以文本方式手动编辑其中的内容。
一个EPub文档的目录结构例子如下。
|_mimetype
|_META-INF
|_container.xml
|_toc.ncx
|_metadata.opf
|_text
|_chapter1.xhtml
|_chapter2.xhtml
|_chapter3.xhtml
其中,固定放在根目录的文件是mimetype
和META-INF/container.xml
:mimetype
文件的内容固定为application/epub+zip
;META-INF/container.xml
可以理解为电子书的根配置文件,其中的<rootfiles>
配置引入了metadata.ofp
。
metadata.ofp
也是一个XML配置文件,它包含了电子书的所有元数据,比如:标题、语言、封页图片、所有的页面资源文件等。比如我们的电子书由一些HTML、CSS和图片构成,那么这些资源都要在metadata.ofp
中定义。
toc.ncx
是电子书的目录,这个目录会由阅读器加载,并通过侧边栏等方式展示,该文件由metadata.ofp
引入。
实际上EPub规范还是比较繁琐的,如果我们手写出错的可能性比较大,因此一般都是通过工具来创建EPub文档。Calibre是功能最强大的开源电子书管理系统,其中包含了多个软件工具。Calibre的Edit E-book工具可以创建和编辑EPub电子书,E-book viewer可以用于查阅EPub文档。
Calibre官方网站:https://www.calibre-ebook.com/zh_CN