余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

深入了解 EPUB 文件(阅读文件类型EPUB)

xiyangw 2022-11-24 17:07 17 浏览 0 评论

EPUB 文件是使用开放格式发布内容的好方法。

电子书提供了一种随时随地阅读书籍、杂志和其他内容的好方法。读者可以在长途飞行和乘坐火车时享受电子书打发时间。最流行的电子书文件格式是 EPUB 文件,它是“电子出版物electronic publication”的缩写。 EPUB 文件受到各种电子阅读器的支持,并且是当今电子书出版的有效标准。

EPUB 文件格式基于 XHTML 内容和 XML 元数据的开放标准,包含在 zip 存档中。由于一切都基于开放标准,我们可以使用通用工具来创建或检查 EPUB 文件。让我们探索一个 EPUB 文件以了解更多信息。《C 编程技巧和窍门指南》,于今年早些时候在Opensource.com上发布,提供 PDF 或 EPUB 格式。

因为 EPUB 文件是放在 zip 文件中的 XHTML 内容和 XML 元数据,所以你可以用 unzip命令在命令行检查 EPUB:

$ unzip -l osdc_Jim-Hall_C-Programming-Tips.epub 
Archive: osdc_Jim-Hall_C-Programming-Tips.epub
Length Date Time Name
--------- ---------- ----- ----
20 06-23-2022 00:20 mimetype
8259 06-23-2022 00:20 OEBPS/styles/stylesheet.css
1659 06-23-2022 00:20 OEBPS/toc.xhtml
4460 06-23-2022 00:20 OEBPS/content.opf
44157 06-23-2022 00:20 OEBPS/sections/section0018.xhtml
1242 06-23-2022 00:20 OEBPS/sections/section0002.xhtml
22429 06-23-2022 00:20 OEBPS/sections/section0008.xhtml
[...]
9628 06-23-2022 00:20 OEBPS/sections/section0016.xhtml
748 06-23-2022 00:20 OEBPS/sections/section0001.xhtml
3370 06-23-2022 00:20 OEBPS/toc.ncx
8308 06-23-2022 00:21 OEBPS/images/image0011.png
6598 06-23-2022 00:21 OEBPS/images/image0009.png
[...]
14492 06-23-2022 00:21 OEBPS/images/image0005.png
239 06-23-2022 00:20 META-INF/container.xml
--------- -------
959201 41 files

这个 EPUB 包含很多文件,但其中大部分是内容。要了解 EPUB 文件是如何组合在一起的,请遵循电子书阅读器的流程:

1、电子书阅读器需要验证 EPUB 文件是否真的是 EPUB 文件。他们通过检查 EPUB 存档根目录中的 mimetype文件来验证文件。该文件仅包含一行描述 EPUB 文件的 MIME 类型:

application/epub+zip

2、为了定位内容,电子书阅读器从 META-INF/container.xml文件开始。这是一个简短的 XML 文档,指示在哪里可以找到内容。对于此 EPUB 文件,container.xml文件如下所示:


  asis:names:tcpendocument:xmlns:container">

为了使 container.xml文件更易于阅读,我将单行拆分为多行,并添加了一些间距来缩进每行。XML 文件并不关心新行和空格等额外的空白,因此这种额外的间距不会影响 XML 文件。

3、container.xml文件表示 EPUB 的根从OEBPS目录中的content.opf文件开始。OPF 扩展名是因为 EPUB 基于 “开放打包格式Open Packaging Format”,但content.opf文件实际上只是另一个 XML 文件。

4、content.opf文件包含一个完整的 EPUB 内容清单,以及一个有序的目录,以及查找每一章或每一节的引用。这个 EPUB 的content.opf文件很长,因此我将在此仅展示一小部分作为示例。

XML 数据包含在 块中,该块本身具有 块、 数据和包含电子书目录的 块:


pf="http://www.idpf.org/2007/opf">
  

你可以把数据匹配起来,看看在哪里可以找到每个部分。EPUB 阅读器就是这样做的。例如,目录中的第一项引用了 section0001,它在清单中被定义为位于sections/section0001.xhtml文件中。该文件的名称不需要与idref条目相同,但 LibreOffice Writer 的自动程序就是这样创建该文件的。(你可以在元数据中看到,这个 EPUB 是在 Linux 上用 LibreOffice 7.3.0.3 版本创建的,它可以将内容导出为 EPUB 文件。)

EPUB 格式

EPUB 文件是一种使用开放格式发布内容的好方法。EPUB 文件格式是 XML 元数据与 XHTML 内容,包含在一个 zip 文件内。虽然大多数技术作家使用工具来创建 EPUB 文件,因为 EPUB 是基于开放标准,意味着你可以使用其他方式创建自己的 EPUB 文件。

via: https://opensource.com/article/22/8/epub-file

作者:Jim Hall选题:lkxed译者:geekpi校对:wxy

本文由 LCTT原创编译,Linux中国荣誉推出

相关推荐

成都前端培训靠谱吗?(成都前端培训机构推荐)
成都前端培训靠谱吗?(成都前端培训机构推荐)

成都前端培训靠谱吗?移动互联网时代,前端开发工程师已经成为了技术主流。行业的飞速发展,互联网企业需要大量的专精于Web前端技术的前端工程师,满足市场所需。如此空...

2023-03-21 18:45 xiyangw

HTML5前端培训学校学费多少?学多久?(html5前端教程)
HTML5前端培训学校学费多少?学多久?(html5前端教程)

HTML5前端培训学校学费多少?学多久?下面和千锋广州小编一起来看看吧!?关于HTML5培训费用,地区不同,收费不一样。因为各机构提供的教学服务不同所以费用也...

2023-03-21 18:45 xiyangw

电脑培训要多久,学费多少钱,短期能学到东西吗?

电脑培训要多久,电脑培训学费多少钱,短期能学到东西吗等问题一直困扰学员。高额薪资待遇,让人们对电脑行业趋之若鹜。到底电脑培训要多久,电脑培训学费多少钱等电脑培训的问题,就让小青给大家意一一解答:一、电...

前端开发需要学多长时间?刚学出来的前端工资多少?
前端开发需要学多长时间?刚学出来的前端工资多少?

前端工程师,也叫Web前端开发工程师。他是随着Web发展,细分出来的行业。尤其是现在互联网时代,Web技术应用更加广泛。网站、手机app、营销H5等等都离不开W...

2023-03-21 18:44 xiyangw

海宁Web前端开发培训,Web要学多久呢(哪里有web前端培训班)

Web前端工程师是协调前端设计师、后端程序员实现网站页面或程序的界面美化、交互体验的一个职位。在互联网高速发展的今天,在一系列的招聘网站上每天都有很多web前端全栈工程师招聘需求,web前端就业前景广...

web前端培训费用一般需要多少?(web前端培训有用吗)
web前端培训费用一般需要多少?(web前端培训有用吗)

web前端开发的行业薪资在所有IT行业里面算是较高的一个,并且需求也在逐年上升,所以有更多的同学选择加入到前端工程师这个行业中,但却苦于怕被无良的培训机构坑骗...

2023-03-21 18:44 xiyangw

0基础web前端开发培训5个月后,可以找到工作吗?
0基础web前端开发培训5个月后,可以找到工作吗?

0基础web前端开发培训5个月后,可以找到工作吗?很多小伙伴想要学习web前端时总会有这样的顾虑,害怕自己投入时间投入精力投入金钱,最后却找不到工作,其实完全没...

2023-03-21 18:44 xiyangw

从零开始学习java一般需要多长时间?(java一般要学多久)
从零开始学习java一般需要多长时间?(java一般要学多久)

其实学java一般要多久?因人而异,例如一个零基础的小白自学java,每天学习8个小时来算,而且在有学习资料的基础上,每天学习,从零到找到工作,起码要半年起步,...

2023-03-21 18:43 xiyangw

前端开发是做什么的?前端培训机构靠谱吗?(前端开发课程培训视频教程)
前端开发是做什么的?前端培训机构靠谱吗?(前端开发课程培训视频教程)

  前端开发是做什么的?随着互联网的发展,现代网页更佳美观,交互效果显著,功能更加强大,这些都是前端开发的功劳,也预示着企业对前端开发的要求会越来越高。前端开发...

2023-03-21 18:43 xiyangw

it开发学习一般会有哪些课程?要多久?(it开发培训机构)
it开发学习一般会有哪些课程?要多久?(it开发培训机构)

  IT行业如今是年轻人选择的香饽饽,不仅因为岗位需求量比较大,同时入行的工资也相对比其他行业更高。不少人都愿意通过IT培训来转行。在此之前,我们先了解一下重庆...

2023-03-21 18:43 xiyangw

去石家庄Web前端培训学校一般要学多久?(web前端哪里培训好)
去石家庄Web前端培训学校一般要学多久?(web前端哪里培训好)

入门简单、就业前景好是人们对Web前端行业的认知,也让其成为想要快速入行IT开发拿高薪人士的一致选择。但企业的高要求以及不断更新升级的IT技术无形中抬高了行业门...

2023-03-21 18:43 xiyangw

前端高薪就业,那自学Web前端要多久?自学Web前端难不难?
前端高薪就业,那自学Web前端要多久?自学Web前端难不难?

聊起自学Web前端那真是有说不尽的话题,不管是学什么技能,技能难不难好不好学、发展前景好不好、就业薪资高不高是我们第一关注的问题,下面我们来说一下自学前端难不难...

2023-03-21 18:42 xiyangw

Java系统学习需要多长时间?(洗牙需要多长时间)
Java系统学习需要多长时间?(洗牙需要多长时间)

学习java需要多长时间?这个最主要是取决于学习方式,如果是自学的话,基础好的可能花个大半年时间,有人可能1-2年也都只能学到皮毛。除此之外,还跟个人的计算机基...

2023-03-21 18:42 xiyangw

学web前端开发需要多久?web前端要学哪些内容?

  近年来,web前端开发技术越发的火热,前端开发工程师的需求量越来越大,就业前景可谓是一片大好。同时,web前端开发的学习门槛较低,因此有不少小伙伴选择转行学习web前端开发技术。学web前端开发需...

web前端程序员培训学习需要学多久(web前端培训出来后的怎么样)
web前端程序员培训学习需要学多久(web前端培训出来后的怎么样)

现在web前端开发技术在市场发展过程中的需求量在不断地增加,有越来越多的小伙伴想要通过学习web前端开发技术知识来入行IT行业。对于零基础小伙伴学习前端开发技术...

2023-03-21 18:41 xiyangw

取消回复欢迎 发表评论: