Epub電子書開發(fā)學習-(二)Epub格式電子書簡述

Epub格式電子書

epub電子書本身就是一個ZIP文件纺酸,我們將epub格式電子書的后綴.epub修改為.zip后,可以通過解壓縮軟件進行瀏覽或解壓處理址否。

解壓后的文件:

1.固有文件

1.1 mimetype

電子書閱讀器需要驗證 EPUB 文件是否真的是 EPUB 文件餐蔬。他們通過檢查 EPUB 存檔根目錄中的mimetype文件來驗證文件。該文件僅包含一行描述 EPUB 文件的 MIME 類型:application/epub+zip

1.2 META-INF

這個文件文件夾的名字翻譯成中文就是“元信息”佑附。文件夾里面只有一個container.xml文件樊诺。

這兩個文件是固定名字,固定位置帮匾。

2.文件解析

2.1 container.xml

先看一下container.xml中的內(nèi)容

image.png

這段內(nèi)容的作用就是標明了.opf文件的位置啄骇。這個.opf文件是一個很重要的文件痴鳄,它記錄了epub文件內(nèi)部各個文件的具體信息瘟斜。

Ps:.opf文件可以放到任意的位置,任意的命名痪寻,通過container.xml文件來找到.opf文件螺句。正是基于這個緣由,epub文件的標準里規(guī)定“EPUB 根目錄下必須包含 META-INF 目錄橡类,并且其中必需要有一個文件 container.xml”

2.2.opf文件解析

Open Package Format(OPF)蛇尚,即包文件格式,其主要功能是用于組織 OPS 文檔和提供相應的導航機制顾画,并形成一個開放式的基于 XML 的打包文檔取劫,該文檔的后綴名為 “.opf” 。

查看文件內(nèi)容:


image.png

metadata#

EPUB文件元數(shù)據(jù)

dc:identifier#

書本的唯一標識符研侣,需要和ncx文件中的identifier一致谱邪,雖然不一致也沒問題。

dc:language#

書本使用的語言 不是很重要庶诡。

dc:title#

整本書的書名惦银,重要性不言而喻。

meta#

通過對部分EPUB進行解壓末誓,目前只發(fā)現(xiàn)設置封面的meta

<meta content="cover-image" name="cover"/>

一般沒有需求不更改扯俱,如何設置封面查看下文。

manifest#

整本書的清單文件喇澡,一般會列出ncx文件和小說正文文件以及封面迅栅。

ncx文件是必須的,它定義了書籍的目錄晴玖,具體格式查看下文读存。

封面是可選的箩艺,不過EPUB沒有封面和插圖就沒有靈魂。

2.3 ncx文件解析

ncx是Navigation Content extended的縮寫宪萄,用于表示本書的目錄艺谆。

image.png

meta#

dtb:uid#

<meta content="urn:uuid:9bfb698f-dfa3-45ca-bea4-d0fbc2ead4f3" name="dtb:uid"/>

這個和opf中的dc:identifier應該保持一致,不一致倒也沒什么問題拜英。

depth静汤、totalPageCount和maxPageNumber#

image.png

對于電子書不需要進行修改,使用這幾個值就OK居凶。

docTitle#

image.png

姑且認為應該與opf中的dc:title一致虫给,書名以opf中的為準。

navPoint#

image.png

整書的目錄侠碧,每個navPoint代表目錄中的一項抹估,包含標題和文件路徑。

一個EPUB有以上這些文件就能被識別弄兜,通過創(chuàng)建文件然后壓縮就可以完成一個EPUB文件的創(chuàng)建药蜻。

3.epub閱讀器解析流程

  1. 解壓epub文件

  2. 解析container.xml獲取到opf文件信息

  3. 解析opf文件,獲取epub基本信息替饿,文件信息

  4. 解析ncx文件语泽,獲取目錄章節(jié)列表

  5. 通過獲取的章節(jié)列表信息加載解析對應的xhtml文件

  6. 頁面展示

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市视卢,隨后出現(xiàn)的幾起案子踱卵,更是在濱河造成了極大的恐慌,老刑警劉巖据过,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惋砂,死亡現(xiàn)場離奇詭異,居然都是意外死亡绳锅,警方通過查閱死者的電腦和手機西饵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來榨呆,“玉大人罗标,你說我怎么就攤上這事』撸” “怎么了闯割?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長竿拆。 經(jīng)常有香客問我宙拉,道長,這世上最難降的妖魔是什么丙笋? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任谢澈,我火速辦了婚禮煌贴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锥忿。我一直安慰自己牛郑,他們只是感情好,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布敬鬓。 她就那樣靜靜地躺著淹朋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪钉答。 梳的紋絲不亂的頭發(fā)上础芍,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機與錄音数尿,去河邊找鬼仑性。 笑死镇草,一個胖子當著我的面吹牛馏艾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蚁堤,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼嫩实,長吁一口氣:“原來是場噩夢啊……” “哼刽辙!你這毒婦竟也來了窥岩?” 一聲冷哼從身側(cè)響起甲献,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎颂翼,沒想到半個月后晃洒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡朦乏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年球及,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呻疹。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡吃引,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出刽锤,到底是詐尸還是另有隱情镊尺,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布并思,位于F島的核電站庐氮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏宋彼。R本人自食惡果不足惜弄砍,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一仙畦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧音婶,春花似錦慨畸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瞳收,卻和暖如春碉京,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背螟深。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工谐宙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人界弧。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓凡蜻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親垢箕。 傳聞我的和親對象是個殘疾皇子划栓,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容