淺談:有關epub電子書的架構

转载 2013年12月04日 17:59:05

出自:http://cnepub.com/discuz/forum.php?mod=viewthread&tid=143743&extra=page%3D1&page=1


一、前言
      過去的這一年來,買了電子閱讀器,又進了書苑,開始對電子書(epub)的格式產生了興趣。而根本原因是我買的Sony prs-t1沒有刷機,也沒有漢化,所以一直要花時間在修改檔案上。也因為這樣,讓我有動機寫下這一個簡單的介紹,希望有興趣想入門的人可以來瞧瞧。
      書苑裡面製作電子書的大老們,對這個皮毛的簡介,就請輕輕放過,吐槽的聲音不要太大,以免影響大家的閱讀心情啊。

二、範圍:
      本文唯一的重點就在一個epub檔案裡面,到底有哪些成分及組成。

      本文不涉及標準的介紹,所以由哪些單位制定標準,或者又定義了哪些標準,就不贅述。 而市面上五花八門的閱讀器及閱讀的軟體,自然要遵循這些標準而制定,他們的優劣程度如何,也不在本文的討論範圍內。

      製作電子書,可以透過一些現成的工具來完成,書苑裡面有很多類似的教程,也請自行參閱。

      Html語法,請自行蒐尋網路上的教學網站。
      本帖資料參考來源(http://www.slideshare.net/aecro/e-pub)

三、附檔名 *.epub ?
      其實,epub基本上就是一個符合zip格式的壓縮檔。用一般的解壓縮程式,就可以解開。(免費的7-ZIP就可以用了)

四、檔案結構
      首先,參看下面這個圖形,可以大概知道一個epub檔案,裡面的組成。

     


      一個epub檔案未壓縮前,大致上分為三個部分:
      1.     檔案 minetype
      2.     META-INF 目錄
      3.     OPS 目錄 (或OEPBS目錄)
      下一章就對這三個部份,逐一做介紹。

五、epub 檔案組成的介紹
      1.     檔案 minetype
              每一個epub都有一個minetype檔,內容為
                  application/epub+zip
              其意義為這個檔案可以被epub工具,或zip工具打開。

      2.     META-INF 目錄
              META-INF目錄裡面,包含了一個必要的檔案[container.xml]及其他非必要的檔案。
              a.     Container.xml:用來告訴瀏覽器根文件(root file)的路徑,以及開啟的方式。
                                          瀏覽器必須找得到這個最基本的文件位置,才能正確的開啟檔案。
                     例子:
                     <?xml version=“1.0” Encoding=“UTF-8” ?>
                     <container version="1.0“mlns="urnasis:names:tcpendocument:xmlns:container">
                     <rootfiles>
                     <rootfile full-path="content.opf" media-type="application/oebps-package+xml"/>
                     </rootfiles>
                     </container>
             這個例子中,container.xml檔案宣告了電子書的根文件為content.opf而且該檔案放在根目錄下,
             另外也宣告這個opf檔案是用xml的格式來撰寫的。如果你要移動這個opf檔案的位置到OPS的目錄下,
             則必須把參數中的rootfile full-path="content.opf" 改成 rootfile full-path="OPS/content.opf"

             b.     其他(非必要)檔案
                                   i.               manifest.xml (文件列表)
                                 ii.               metadata.xml (後設資料)
                               iii.               signatures.xml (數位簽章)
                                iv.               encryption.xml (加密規則)
                                  v.               rights.xml (權限管理)

      3.     OPS 目錄
              用來放置符合OPS (Open Publication Structure)所規範的檔案,如opf,css, ncx檔案。
              為了方便辨識,也可以在這個目錄下面建構次目錄,用來放置不同章節的檔案(chapter)、
              排版樣式檔案(css)以及圖檔(image)。
              a.     css
                     Epub裡面的檔案,大部分都是用html語法來呈現的,css是用來宣告一些使用者可
                     以自行定義使用的樣式,html檔案可以去參考這個CSS來呈現不同的閱讀風格。一
                     個電子書裡面,可能有十幾個html檔案(檔案個數製作者可以自行決定, 一般會依
                     章節拆分),透過一個參照外部css檔案的命令,就不需要在每一個獨立的html檔案內,
                     重複宣告那些樣式。
              b.     image
                      就是一些插圖或封面檔案

              c.      opf檔案
                      OPF檔案說明了這個epub檔案裡面包括了哪些單元,以及裡面的單元的結構及閱覽順序等資訊。
                      一個OPF檔案由五個部份組成:
                      <metadata>:描述電子書的相關資訊
                      <manifest>:電子書個單元的列表
                      <spine>:閱覽順序
                      <tours>: 給讀者導讀的部分
                      <guide>:各單元的類別型態
                      我們特別把這個檔案,在下一章獨立介紹。

六、OPF的介紹
      參考下圖,一個OPF檔案由五個部份組成。

        

            [opf組成圖]

      1.     <metadata> 用來描述詮釋資料,可以分為<dc:metadata>及<x:metadata>
              a.     <dc:metadata> 採用dubline code (DC) 的15項核心元術
                     <title>: 標題
                     <creator>: 製作者
                     <subject>: 主題
                     <Description>: 描述
                     <contributor>: 貢獻者
                     <date>: 日期
                     <type>: 類型
                     <format>: 格式
                     <identifier>: 標識符號
                     <source>: 來源
                     <language>: 語言
                     <relation>: 相關訊息
                     <coverage>: 涵蓋範圍
                     <rights>: 權限
             b.     <x:metadata> 上面標準的DC元素中無法描述的,可以在此自行擴展

      2.     <manifest> 電子書各個單元的列表,格式如後:
              <item id=“ ”, href=“ “, media-type=“ “>
               id是這個單元的名稱,href後面帶的是對應到該單元的檔案
                     Ex:
                     <item href="calibre_raster_cover.jpg"id="cover" media-type="image/jpeg"/>   
                     <item href="OPS/chapter1.html" id="chapter1"media-type="application/xhtml+xml"/>

      3.     <spine toc=“ncx”>:在manifest後,只能有一個,後面的itemref出現次序,代表閱讀次序
                     Ex:
                     <itemref idref="coverpage"/>   
                     <itemref idref="chapter1"/>
                     <itemref idref=“cover“ linear=“yes”/> ,其中linear 代表循序閱讀與否 (可略)

      4.     <tour> 設定不同的條件,給予不同的導讀。每個tour要有一個title屬性及若干個site標籤
              <site> 標籤要有 titel及href,而href要對應到manifest裡的某一個項目
                     Ex:
                     <tour id=“tour1” title=“young guest”>
                     <site title=“Chicken Fingers “ href=“appetizers.htm#r3” />
                     <site title=“Chicken a la King “ href=“entrees.htm#r5” />
                     </tour>

      5.     <guide> 一個或多個reference標籤,宣告manifest裡的資源的類型,包含下面15種類型:
              cover, title-page, toc, index,glossary, acknowledgements, bibliography, colophon, copyright-page,
              dedication,epigraph, foreword, loi (list of illustration), lot (list of tables), notes,preface, text
                     Ex:
                     <guide>
                     <reference type=“toc” title=“Table” href=“toc.html”/>
                     <reference type=“loi” title=“Illustration”href=“toc.html#figures”/>
                     </guide>

七、回顧
      簡單的回顧這個組成運作的原理如下:
      1. 閱讀器的瀏覽工具先在minetype檔案中,得知這是一個符合ZIP壓縮規則的epub檔。
      2. 瀏覽器接著在META-INF目錄下的container.xml檔案中,找到了content.opf及其位置。
      3. 上面的content.opf檔案裡面,描述了這一個epub格式的電子書,裡面所要呈現的各個要件及閱讀的順序。

相关文章推荐

Epub电子书格式(四)

做人要厚道:http://blog.sina.com.cn/s/blog_6441e0640100gmj9.html

怎么在itouch中使用epub格式的电子书

以前老习惯用自己的mp4看小说,我朋友当时给了我1个itouch3代用,每每看见我搞个mp4看小说而不懂得运用新设备就表示很蛋疼~ 其实我也是逼不得已,一部吉兆的小说我都看到中间了,要我怎么着? ...

Epub格式电子书格式解析

什么是 EPUB? PUB 是可重排版(reflowable直译可回流)的基于XML格式的电子书或其它数字出版物,是数字出版业商业和标准协会 International Digital Publis...

epub格式电子书剖析 .

epub格式电子书遵循IDPF推出的OCF规范,OCF规范遵循ZIP压缩技术,即epub电子书本身就是一个ZIP文件,我们将epub格式电子书的后缀.epub修改为.zip后,可以通过解压缩软件(例如...

PDF转EPUB格式电子书经验总结

根据本人将PDF转换为EPUB电子书的经验,总结整理了这篇文章,因本人水平有限,难免有错误和不足之处,望大家及时批评指正。 写这篇文章时,假定读者已经会使用文中所列出软件的基本操作,比如怎样用No...
  • jzj1993
  • jzj1993
  • 2014年10月09日 23:43
  • 2714

Epub电子书格式(三)

做人要厚道:http://blog.sina.com.cn/s/blog_6441e0640100gmi8.html

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

epub格式电子书遵循IDPF推出的OCF规范,OCF规范遵循ZIP压缩技术,即epub电子书本身就是一个ZIP文件,我们将epub格式电子书的后缀.epub修改为.zip后,可以通过解压缩软件(例如...

Epub格式电子书格式

什么是 EPUB?PUB 是可重排版(reflowable直译可回流)的基于XML格式的电子书或其它数字出版物,是数字出版业商业和标准协会 International Digital Publishi...

处理nook上乱码的Epub中文电子书

nook simple touch是Android系统,自带中文,可惜很多epub格式的电子书没有使用nook自带的中文字库,导致中文乱码。 改变的方式: 1 root ,再添加常见的中文字库; 2 ...
  • wjstone
  • wjstone
  • 2015年02月06日 11:46
  • 2948
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:淺談:有關epub電子書的架構
举报原因:
原因补充:

(最多只允许输入30个字)