电子书epub解压内容说明

epub格式电子书遵循IDPF推出的OCF规范,OCF规范遵循ZIP压缩技术,即epub电子书本身就是一个ZIP文件

将一个book.epub格式的文件修改后缀为zip然后解压,可以得到如下的目录结构

mimetype

每一本epub电子书均包含一个名为mimetype的文件,且内容不变,用以说明epub的文件格式。文件内容如下

application/epub+zip 

META-INF

依据OCF规范,META-INF用于存放容器信息,默认情况下(即加密处理),该目录包含一个文件,即container.xml,文件内容如下

<?xml version="1.0" encoding="UTF-8"?>
<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>

container.xml的主要功能用于告诉阅读器,电子书的根文件(rootfile)的路径和打开放式,一般来讲,该container.xml文件也不需要作任何修改,除非你改变了根文件的路径和文件名称。

  除container.xml文件之外,OCF还规定了以下几个文件:
  (1)[manifest.xml],文件列表
  (2)[metadata.xml],元数据
  (3)[signatures.xml],数字签名
  (4)[encryption.xml],加密
  (5)[rights.xml],权限管理对于epub电子书而言,这些文件都是可选的。

OEBPS

oebps目录结构如下

 

OEBPS目录用于存放OPS文档、OPF文档、CSS文档、NCX文档, OEBPS这个名字是可变的,可以根据containter.xml进行配置。

 

OPF文档是epub电子书的核心文件,且是一个标准的XML文件,依据OPF规范,主要由五个部分组成

1、<metadata>,元数据信息的组成有两种 (1)dc-metadata和 (2)x-metadata

2、<menifest>,文件列表,由于列出OEBPS文档及相关的文档,有一个子元素构成,
<item id="" href="" media-type="">,该元素由三个属性构成

3、<spine toc="ncx">,脊骨,其主要功能是提供书籍的线性阅读次序。由一个子元素构成:
  <itemref idref="">,由一个属性构成:idref:即参照menifest列出的ID

4、<guide>,指南,依次列出电子书的特定页面, 例如封面、目录、序言等, 属性值指向文件保存地址。一般情况下,epub电子书可以不用该元素。

5、<tour>,导读。可以根据不同的读者水平或者阅读目的, 按一定次序, 选择电子书中的部分页面组成导读。一般情况下,epub电子书可以不用该元素。

 

ncx文件是epub电子书的又一个核心文件,用于制作电子书的目录,其文件的命名通常为toc.ncx。
ncx文件是一个XML文件,该标准由DAISY Consortium发布(参见http://www.daisy.org)。

 

NCX 和 OPF spine 有什么不同?

  两者很容易混淆,两者的区别:

    opf文件用来描述电子书章节的顺序, 比如:第一章后是第二章,第二章后是第三章....

    ncx文件用来描述电子书的目录结构, 就是纸质书的目录;

一条法则是 ncx包含的 navPoint 元素通常比 OPF spine 中的 itemref 元素多。实际上,spine 中的所有项都会出现在 ncx中,但 ncx可能更详细。

 

 

 

 

 

 

 

=================================================================================================

参考文档 https://www.cnblogs.com/diligenceday/p/4999315.html

 

posted @ 2023-06-29 00:11  ENU  阅读(595)  评论(0编辑  收藏  举报