epub电子书--目录结构介绍

author author     2023-01-29     729

关键词:

  epub电子书简介

  epub全称为Electronic Publication的缩写,意为:电子出版, epub于2007年9月成为国际数位出版论坛(IDPF)的正式标准,以取代旧的开放Open eBook电子书标准,epub这种格式kindel目前不支持, 必须用相应的软件打开,比如PC端用calibre,(calibre可是kindle的好伙伴, 可以用来整理或者同步kindle的书架), 如下图:

  

epub电子书--目录结构介绍_xml

  或者用 Adobe Digital Edition(这个软件很小,解析纯文本的epub就好, js和css没有良好的支持)。

  或者安装firefox浏览器的插件EPUBReader, 如下图:

epub电子书--目录结构介绍_xml_02

  chrome浏览器的插件Readium也可以用来打开epub文件(但是要FQ到google的应用中心去下载, 听新闻说谷歌2016年要回归了);

  等各种方式打开...

  修改epub文件的作者书名等相关信息

   epub文件用压缩软件打开以后直接可以看到源代码, 所以这种格式的电子书开放性非常好, 我们可以更改它的源代码, 比如你下载了了一本为“Rabbit, Run”epub书, 原来这本书的介绍是这样的,

  

epub电子书--目录结构介绍_html_03

  

  通过更改epub的配置文件opf,我改了作者和书名, 再重新打包成epub文件, 变成这样了, 感觉自己萌萌哒是不是:

  

epub电子书--目录结构介绍_xml_04

 

   epub电子书的内部结构

  epub格式电子书遵循IDPF推出的OCF规范,OCF规范遵循ZIP压缩技术,即epub电子书本身就是一个ZIP文件,我们将epub格式电子书的后缀.epub修改为.zip后,可以通过解压缩软件(例如winrar、winzip)进行浏览或解压处理。一个未经加密处理的epub电子书以三个部分组成,其文件结构如下图所示:

  

epub电子书--目录结构介绍_html_05

  1、文件:mimetype

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

application/epub+zip

  (注释,表示可以用epub工具和ZIP工具打开)

 

  2、目录:META-INF

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

<?xml version="1.0"?> 
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="OPS/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电子书而言,这些文件都是可选的。

 

  3、目录:OEBPS

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

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

  实例XML代码:

<?xml version="1.0" encoding="UTF-8" ?>
<package version="2.0" unique-identifier="PrimaryID" xmlns="http://www.idpf.org/2007/opf">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf">
<dc:title>
nono书名
</dc:title>
<dc:identifier opf:scheme="ISBN">
</dc:identifier>
<dc:language>
zh-CN
</dc:language>
<dc:creator>
nono
</dc:creator>
<dc:publisher>
epub掌上书苑
</dc:publisher>
<dc:description>
</dc:description>
<dc:coverage>
</dc:coverage>
<dc:source>
http://www.cnepub.com
</dc:source>
<dc:date>
2015-11-26
</dc:date>
<dc:rights>
本电子书由epubBuilder制作生成,欢迎访问http://www.cnepub.com分享交流海量电子书。 epubBuilder仅供交流使用,未经授权,不得用于商业用途。
</dc:rights>
<dc:subject>
专业书籍
</dc:subject>
<dc:contributor>
</dc:contributor>
<dc:type>
[type]
</dc:type>
<dc:format>
</dc:format>
<dc:relation>
</dc:relation>
<dc:builder>
epubBuilder
</dc:builder>
<dc:builder_version>
3.1.08.28
</dc:builder_version>
<meta name="cover" content="cover-image" />
</metadata>
<manifest>
<!-- Content Documents -->
<item id="main-css" href="css/main.css" media-type="text/css" />
<item id="coverpage" href="coverpage.html" media-type="application/xhtml+xml"/>
<item id="chapter1" href="chapter1.html" media-type="application/xhtml+xml"/>
<item id="ncx" href="fb.ncx" media-type="application/x-dtbncx+xml" />
<item id="css" href="css/main.css" media-type="text/css" />
<item id="cover-image" href="images/cover.jpg" media-type="image/jpeg"/>
</manifest>
<spine toc="ncx">
<itemref idref="coverpage" linear="yes" />
<itemref idref="chapter1" linear="yes" />
</spine>
<guide>
<reference type="cover" title="封面" href="coverpage.html" />
</guide>
</package>

View Code

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

<dc-metadata>,其元素构成采用dubline core(DC)的15项核心元素,包括:

<title>:题名
<creator>:责任者
<subject>:主题词或关键词
<description>:内容描述
<contributor>:贡献者或其它次要责任者
<date>:日期
<type>:类型
<format>:格式
<identifier>:标识符
<source>:来源
<language>:语种
<relation>:相关信息
<coverage>:履盖范围
<rights>:权限描述
<x-metadata>,即扩展元素。如果有些信息在上述元素中无法描述,则在此元素中进行扩展。

 

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

id:表示文件的ID号
  href:文件的相对路径
  media-type:文件的媒体类型

例如:

<manifest>
<item id="main-css" href="css/main.css" media-type="text/css" />
<item id="coverpage" href="coverpage.html" media-type="application/xhtml+xml"/>
<item id="chapter1" href="chapter1.html" media-type="application/xhtml+xml"/>
<item id="ncx" href="fb.ncx" media-type="application/x-dtbncx+xml" />
<item id="css" href="css/main.css" media-type="text/css" />
<item id="cover-image" href="images/cover.jpg" media-type="image/jpeg"/>
</manifest>

 

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

实例代码:

<spine toc="ncx">
<itemref idref="coverpage" linear="yes"/>
<itemref idref="chapter1" linear="yes"/>
</spine>

 

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

实例代码:

<guide>
<reference type="cover" title="封面" href="coverpage.html"/>
</guide>

 

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


 

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

<?xml version=1.0 encoding=utf-8 ?>
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">

<head>
<meta content="coay_307750" name="dtb:uid" />
<meta content="2" name="dtb:depth" />
<meta content="COAY.COM [http://www.coay.com]" name="dtb:generator" />
<meta content="0" name="dtb:totalPageCount" />
<meta content="0" name="dtb:maxPageNumber" />
</head>
<docTitle>
<text>
《再穷也要去旅行》
</text>
</docTitle>
<docAuthor>
<text>
黄爱琳
</text>
</docAuthor>
<navMap>
<navPoint class="chapter" id="article_307750_1" playOrder="1">
<navLabel>
<text>
Chapter_1
</text>
</navLabel>
<content src="article_307750_1.html" />
</navPoint>
<navPoint class="chapter" id="article_307750_2" playOrder="2">
<navLabel>
<text>
Chapter_2
</text>
</navLabel>
<content src="article_307750_2.html" />
</navPoint>
<navPoint class="chapter" id="article_307750_3" playOrder="3">
<navLabel>
<text>
Chapter_3
</text>
</navLabel>
<content src="article_307750_3.html" />
</navPoint>
<navPoint class="chapter" id="article_307750_4" playOrder="4">
<navLabel>
<text>
Chapter_4
</text>
</navLabel>
<content src="article_307750_4.html" />
</navPoint>
<navPoint class="chapter" id="article_307750_5" playOrder="5">
<navLabel>
<text>
Chapter_5
</text>
</navLabel>
<content src="article_307750_5.html" />
</navPoint>
</navMap>
</ncx>

 

  NCX 和 OPF spine 有什么不同?

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

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

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

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

 

  epub文档结构描述的有关博客和知识:

  ​​Epub基础知识介绍​​

  ​​epub格式电子书剖析之一:文档构成 ​

  ​​DC(Dublin Core)数字图书馆中使用的一组简单的包括15个“核心元素”的元数据元素集合​

  ​​OCF( Open Container Format )规范​​

  ​​OPF(Open Packaging Format)开放包装格式( 开放包装格式(OPF)2.0 v1.0 )​​

 

 

  后记:

zip格式, 然后把文件后缀zip改为epub就可以打开( zip格式和rar格式并不是一样的,虽然他们都是压缩格式); 

  感想:

    今天去上了韩国popper -- hozin大师的课, 技术上没有什么长进, 但是也知道hozin为poppin付出了那么多, 8岁开始学舞,12岁开始学习poppin, 到现在已经跳了18年了, 他研究乐器, 他研究如何用身体表达各种音乐, 一个鼓点在他脑袋里面有5,6种表达方式, 他也说韩国赚钱不好赚, 中国比较好赚钱,有学生问他中国和韩国poppin的区别, 他期间也说道:韩国popper很认真, 经常白天上课或者白天上班, 晚上有人跳舞, 跳到4,5点, 他以前一天都是练习12小时的,现在少了, 他很谦虚, 很认真,  我想人和人的区别就在这儿: 多坚持一点。

    很多牛逼的人又那么低调 one day  -- --  matisyahu。

  

作者: ​​NONO

天道酬勤



picture2epub

一、Picture2Epub软件介绍Picture2Epub是一款将图片转换成epub电子书的软件。有以下功能:1)、支持多张图片文件一起转换成epub文件。2)、图片文件支持.jpg、.jpeg、.png、.bmp图片格式文件。 二、Picture2Epub软件使用Picture2Ep... 查看详情

pdf等电子书文件怎么转换成epub文件

   EPUB是一个电子书格式,经常看电子书的朋友对这个格式一定不陌生,如果我们在下载了一份PDF或者其它格式的电子书的时候想要将其转换成EPUB格式,那么PDF等电子书文件怎么转换成EPUB文件呢?很多人可能不太清楚... 查看详情

如何将epub电子书格式转换成txt文本

...格式的小说转换成常用的pdf/word/txt格式,那么如何将epub电子书格式转换成txt文本呢?   这里就由小编我来教大家epub转txt的方法,具体操作步骤如下。    查看详情

epub电子书的制作(代码片段)

epub电子书的制作1、使用Typora轻量化的markdown编辑软件https://www.typora.io/2、使用Word将.md文件转化为.docx3、使用NeatConverter将.docx转化为.epubhttp://www.neat-reader.cn/downloads/converter 查看详情

epub电子书编辑和合订本epub拆分,calibre软件使用

软件下载地址calibre-E-bookmanagementcalibre:Theonestopsolutionforallyoure-bookneeds.Comprehensivee-booksoftware.https://calibre-ebook.com/点击DOWNLOADCALIBRE,选择适合你的版本进行下载,然后安装安装后运行软件,选择获取 查看详情

gitbook生成epub/mobi格式电子书(代码片段)

...ode.js的命令行工具,可使用Github/Git和Markdown来制作精美的电子书。Gitbook也可用于markdown格式的文档管理,因为是纯文本的,所以方便版本管理。总来来说gitbook主要有三个方面的用处。1.生成项目的说明文档文版。2.将文档集中起... 查看详情

怎样把txt格式电子书转化成epub格式

...载保存下来。 参考技术BiPhone虽然无法直接阅读txt格式的电子书,但也不是没有办法,很简单——安装相应的阅读软件,就像安装iBooks那样,比如QQ阅读、91熊猫看书,这两款阅读软件都支持多格式,其中就包括txt,而且都是免费... 查看详情

电子书阅读(epub)calibre&京东阅读

https://calibre-ebook.com/download  calibrehttps://www.fosshub.com/Calibre.html  win64bit calibre下载地址 calibreisapowerfulandeasytousee-bookmanager.Userssayit’s outsta 查看详情

自定义样式,使用浏览器阅读epub格式的电子书(代码片段)

...四步也可以。效果如下:一、使用解压软件将epub格式的电子书解压到特定的文件夹,解压后一般为html格式。二、将文件重命名,以数字方式命名,并从1开始编号,可以使用 查看详情

我拥有的电子书清单_2

31、百万富翁快车道.epub32、君主论_汉译世界学术名著丛书_尼科洛马基雅维里Machiavelli.epub33、小狗钱钱.mobi34、小狗钱钱2.azw335、有钱人想的和你不一样.epub36、Hadoop2.XHDFS源码剖析.pdf:37、Hadoop构建数据仓库实践.epub38、Hadoop海量数据... 查看详情

epub电子书格式怎么转换成txt,mobi,azw3,pdf

用迅捷pdf在线转换器就可以将epub电子书格式转换成txt,mobi,azw3,pdf格式,不用下载软件的,简单方便。搜索迅捷pdf在线转换器,然后进入在线转换器官网。将鼠标移到“文档转换”上面,会出现一个大的下拉框,我们看到第三... 查看详情

《隐歌雀》epub隐歌雀txtpdf隐歌雀mobi电子书下载

《隐歌雀》epub隐歌雀txtpdf隐歌雀mobi电子书下载《隐歌雀》高清PDF,深入理解java虚拟机,书签,电子书点我下载 《隐歌雀》收入短篇小说14篇。异人异事的悬疑故事:阴森的《石堂食经》,跨越阴阳两界的出差;虚构另类文学史... 查看详情

《pyqt5快速开发与实战》epub下载在线阅读全文,求百度网盘云资源

PyQt5快速开发与实战电子书(1117).pdf免费下载链接: https://pan.baidu.com/s/1njNrHzOcAViTSwEjwtYBKg 提取码: c2e3快速开发 通过所见即所得的在线设计和抽屉式配置页面跟随,快速开发实现易用性,大幅降低应用开发成本.。 ... 查看详情

将电子书从txt格式转换成epub格式的软件?

...电脑上面的,而不是打印的。最好能够附带下载链接。将电子书txt格式转换成epub格式可以使用如下方法:操作工具:迅捷pdf在线转换器使用方法:打开百度搜索迅捷在线pdf转换器,在搜索结果中找到该在线平台,并进入网页操... 查看详情

vue—项目的目录结构介绍

【Vue】—项目的目录结构介绍 查看详情

手机java怎么打开的epub文件

...v208支持java的软件,大家帮帮我怎么才可以打开epub格式的电子书?不要说手机QQ阅读,我试过了打不开!给了答案我再加分!epub格式的电子书我尝试过转换成TXT的可以结果有的是图片的,那些图文字我就不知道转了!参考技术A... 查看详情

CircularFLO 输出大小错误的 .epub3

...问题描述】:我使用CircularFlO将.indd转换为.epub。我收到的电子书在iBooks中显示良好,但在我的应用程序页面中显示为缩放。在dropbox中查看图片和.epub问题在于CircularFLO在.epub中创建了.xhtml,其尺寸 查看详情

linux目录结构详细介绍

目录1、树状目录结构图2、/目录3、/etc/目录4、/usr/目录5、/var/目录6、/proc/目录7、/dev/目录 该文章主要来自于网络进行整理。目录结构参考地址:http://www.hudong.com/wiki/linux%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84http://linux.ccidnet.com/art/3067/20... 查看详情