基本知識(shí):
EPUB 是一種基于 XML 的望几、對(duì)開(kāi)發(fā)者友好的格式邓夕,正逐漸成為數(shù)字圖書(shū)的標(biāo)準(zhǔn)蛀缝,目前奴艾,大多數(shù)用于出版社。
本教程分成三個(gè)部分:
第一部分是講解epub電子書(shū)的文件組成内斯,以及epub電子書(shū)每個(gè)文件的具體內(nèi)容;
第二部分是電子書(shū)制作步驟像啼;
EPUB 電子書(shū)的文件組成
EPUB格式的電子書(shū)就是幾個(gè)html文件的壓縮包俘闯,里面的內(nèi)容從封面、目錄到正文內(nèi)容都是由html文件來(lái)承載的忽冻,制作精良的電子書(shū)還有CSS控制樣式真朗。
EPUB 電子書(shū)本身就是一個(gè)ZIP文件,如果將EPUB 格式電子書(shū)的擴(kuò)展名EPUB 改成zip后僧诚,可以通過(guò)解壓縮軟件解壓遮婶。解壓后,如下圖所示
第一種
第二種
① mimetype
任何一本epub電子書(shū)都有一個(gè)mimetype文件湖笨,且內(nèi)容是不變的(下面會(huì)講到它是什么內(nèi)容)旗扑,這個(gè)文件是用來(lái)聲明epub電子書(shū)的文件格式。
② META-INF文件夾
META-INF用于說(shuō)明特定文件的存放信息慈省,默認(rèn)情況下就是用來(lái)說(shuō)核心文件OPF的存放地址臀防,當(dāng)然根據(jù)epub電子書(shū)的制作不同,還可能包含數(shù)字簽名和加密信息等文件边败,不過(guò)這些不是必須的袱衷,只有container.xml文件是一定有的,因?yàn)槿魏蝒pub閱讀系統(tǒng)首先需要尋找這個(gè)文件笑窜,它等于是電子書(shū)閱讀器的指路牌致燥。
③ OEBPS 文件夾
第二種有OEBPS文件夾,第一種沒(méi)有排截,其實(shí)一樣都是用來(lái)存放OPF文檔嫌蚤、CSS文檔、NCX文檔断傲,圖片文件搬葬,其中content.opf文件和toc.ncx文件為必需,其它文件可根據(jù)電子書(shū)的具體情況而定艳悔。
container.xml就相當(dāng)于android的manifest 急凰,通過(guò)該文件找到.opf文件
接下來(lái),我來(lái)重點(diǎn)看下.opf這個(gè)核心文件
<metadata></metadata>之間為本書(shū)的元數(shù)據(jù),包含書(shū)名抡锈、語(yǔ)言疾忍、版權(quán)、作者床三、出版者一罩、出版物唯一標(biāo)識(shí)碼等等信息;
<manifest></manifest>之間為該epub電子書(shū)的所有元素撇簿,意思是這本epub電子書(shū)中包含哪些文字章節(jié)聂渊、圖片、樣式表四瘫,這些元素都是以HTML文件或者CSS文件存在的汉嗽;
<spine></spine>之間為epub電子書(shū)的讀取順序,就是書(shū)籍的頁(yè)碼的呈現(xiàn)順序找蜜。
可能有些同學(xué)有這個(gè)標(biāo)簽<guide></guide>之間會(huì)列出電子書(shū)的特定頁(yè)面, 例如封面饼暑、目錄、序言等洗做,一般情況下弓叛,epub電子書(shū)中的該元素對(duì)你閱讀無(wú)影響。
第二部分:讓我們一起來(lái)制作電子書(shū)吧诚纸!
準(zhǔn)備工具:
1:記事本或Editplus等純文本編輯工具
2:壓縮工具(WinRAR撰筷,7zip,WinZip等)
第一步:創(chuàng)建mimetype文件
首先我們創(chuàng)建一個(gè)文件夾畦徘,可以叫“我的電子書(shū)”闭专,在該文件夾中新建一個(gè)名為mimetype 的文本文檔,粘貼“application/epub+zip”到文檔中旧烧,保存影钉,然后將該文檔擴(kuò)展名刪除,這樣我們得到mimetype文件或者是直接找一本epub電子書(shū)解壓復(fù)制其mimetype文件掘剪,大多數(shù)該文件通用平委。
第二步:創(chuàng)建META-INF文件夾并在該文件夾下創(chuàng)建container.xml文件
在“我的電子書(shū)”文件夾中再新建一文件夾,重命名為META-INF夺谁,打開(kāi)該文件夾廉赔,新建一個(gè)名為container.xml 的文本文檔,然后用記事本打開(kāi)匾鸥,貼入以下代碼:
<?xml version="1.0"?>
<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>
第三步:創(chuàng)建OEBPS文件夾及其子文件content.opf蜡塌、toc.ncx等
在“我制作的電子書(shū)”文件夾中新建文件夾,命名為OEBPS勿负,在新建二個(gè)文本文檔馏艾,分別重命名為content.opf和toc.ncx;
然后把書(shū)中需要的圖片都拷貝到OEBPS文件夾中;
把書(shū)中文字建立成一個(gè)或多個(gè)網(wǎng)頁(yè)文件(htm琅摩、html铁孵、xhtml甚至xml,推薦xhtml)房资,放進(jìn)OEBPS文件夾中蜕劝;
用記事本打開(kāi)content.opf,貼入以下代碼:
<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookID" version="2.0">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf">
<dc:title>書(shū)名</dc:title>
<dc:language>語(yǔ)言</dc:language>
<dc:rights>版權(quán)</dc:rights>
<dc:creator opf:role="aut">作者</dc:creator>
<dc:publisher>出版者</dc:publisher>
<dc:identifier id="BookID" opf:scheme="UUID">出版物唯一標(biāo)識(shí)碼</dc:identifier>
</metadata>
<manifest>
<item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml"/>
<item id="sample.png" href="sample.png" media-type="image/png"/>
<item id="page-template.xpgt" href="Styles/page-template.xpgt" media-type="application/vnd.adobe-page-template+xml"/>
<item id="chap01.xhtml" href=" 01.xhtml" media-type="application/xhtml+xml"/>
<item id="chap02.xhtml" href=" 02.xhtml" media-type="application/xhtml+xml"/>
<item id="title_page.xhtml" href="Text/title_page.xhtml" media-type="application/xhtml+xml"/>
</manifest>
<spine toc="ncx">
<itemref idref="title_page.xhtml"/>
<itemref idref="01.xhtml"/>
<itemref idref="02.xhtml"/>
</spine>
</package>