epub格式的电子书

什么是 EPUB?

EPUB 是可逆的数字图书和出版物 XML 格式,数字出版业商业和标准协会 International Digital Publishing Forum (IDPF) 制定的标准。IDPF 于 2007 年 10 月正式采用 EPUB,随后被主流出版商迅速采用。可以使用各种开放源代码或者商业软件在所有主流操作系统、Sony PRS 之类的 e-ink 设备或者 Apple iPhone 之类的小型设备上阅读 EPUB 格式。

谁在使用 EPUB?只能用于图书吗?

虽然最早采用 EPUB 的是传统的印刷品出版商,但是这并不妨碍它在电子图书中的应用。利用免费的软件工具,可以将网页捆绑成 EPUB,转化成文本文件或者将原有的 DocBook XML 文档转化成结构良好的、有效的 EPUB(后一点将在 从 DocBook 到 EPUB 一节讨论)。

EPUB 与 PDF 有什么不同?

PDF 仍然是世界上应用最广泛的电子文档格式。从图书出版商的角度来看,PDF 的优点包括:

  • PDF 文件允许对页面布局进行像素级的控制,包括复杂的打印格式,如多栏格式和奇偶页相间的格式。
  • 有多种不同的 GUI 文档工具可生成 PDF,如 Microsoft® Office Word 和 Adobe® InDesign®。
  • PDF 阅读器非常普及,现在大多数计算机上都有安装。
  • PDF 可以嵌入特殊的字体,精确控制最终的输出结果。

三合一的标准

EPUB 包括三个单独的 IDPF 规范,虽然实际上将其统称为 EPUB 更保险:

  • Open eBook Publication Structure Container Format (OCF):定义了 EPUB 档案的目录树结构和文件结构(ZIP)。
  • Open Publication Structure (OPS):定义了电子图书的公共词汇表,特别是可作为图书内容的格式(比如 XHTML 和 CSS)。
  • Open Packaging Format (OPF):描述了 EPUB 必须的和可选的元数据、阅读顺序和目录。  

清单 1. 简单 EPUB 档案的目录和文件结构

					
mimetype
META-INF/
   container.xml
OEBPS/
  content.opf
  title.html
  content.html
  stylesheet.css
  toc.ncx
  images/
     cover.png

提示:可 下载 符合该结构的一个电子图书,但建议按照本教程的说明自己创建一个。

编写 EPUB 图书之前首先创建 EPUB 项目的目录。打开文本编辑器或者 Eclipse 之类的 IDE。建议采用支持 XML 的编辑器 — 具体而言就是能够根据 参考资料 给出的 Relax NG 模式进行验证。


mimetype 文件

这个文件非常简单,必须命名为 mimetype,文件内容如下:

application/epub+zip

要注意,mimetype 文件不能包含新行或者回车。

此外,mimetype 文件必须作为 ZIP 档案中的第一个文件,而且自身不能压缩。用 ZIP 打包 EPUB 文件 一节将介绍如何使用一般的 ZIP 参数将其包含进来。现在创建该文件并保存,并确保它在 EPUB 项目的根目录中。

META-INF/container.xml

EPUB 根目录下必须包含 META-INF 目录,而且其中要有一个文件 container.xml。EPUB 阅读系统首先查看该文件,它指向数字图书元数据的位置。

创建目录 META-INF。在其中创建一个新文件 container.xml。container 文件非常小,但是对结构要求很严格。将 清单 2 中的代码粘贴到 META-INF/container.xml 中。

清单 2. container.xml 文件

					
<?xml version="1.0"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
  <rootfiles>
    <rootfile full-path="OEBPS/content.opf"
     media-type="application/oebps-package+xml" />
  </rootfiles>
</container>

full-path(粗体)的值仅仅是该文件的一部分,不同的文件可能相差甚大。目录路径必须相对于 EPUB 文件根目录本身,而不是 META-INF 目录。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值