EPUB

EPUB（Electronic Publication，電子出版）是一種電子圖書標準，由（IDPF）提出；檔案的副檔名為.epub。這個格式已取代了先前的 Open eBook 開放電子書標準。

EPUB 使用 XHTML 為構建基礎，UTF-8 或 UTF-16 編碼，分成頁面排版固定的「版式」與文字內容可隨裝置、使用者調整的「自動重新排版」，並可隨需求加入數位版權管理（DRM）。目前已發展至 3.3 版本並廣為採用。

概覽

EPUB 是一個自由的開放標準，屬於一種可以「自動重新排版」的內容；也就是文字內容可以根據閱讀裝置的特性，以最適於閱讀的方式顯示。EPub 檔案內部使用了 XHTML 或 DTBook（一種由 DAISY Consortium 提出的 XML 標準）來展現文字、並以 zip 壓縮格式來包裹檔案內容。EPUB 格式中包含了數位版權管理（DRM）相關功能可供選用。

EPUB 於 2007 年 9 月成為國際數位出版論壇（IDPF）的正式標準，以取代舊的開放 Open eBook 電子書標準。EPub 包括三項主要規格：

開放出版結構（Open Publication Structure，OPS）2.0，以定義內容的版面；
開放包裹格式（Open Packaging Format，OPF）2.0，定義以 XML 為基礎的.epub 檔案結構；
OEBPS 容納格式（OEBPS Container Format，OCF）1.0，將所有相關檔案收集至 ZIP 壓縮檔案之中。

自 2017 年 1 月 30 日起，IDPF 已與 W3C 合併。

檔案格式

2.1 3.3 版（當前版本）

2.2 3.2 版

2.3 3.1 版

EPUB 3.0 推薦規範釋出於 2011 年 10 月 11 日。2014 年 6 月 26 日，EPUB 3.0.1 釋出，作為 3.0 的小維護更新。2017 年 1 月 5 日發布 EPUB 3.1，對文字的格式規範進行了重組和清理。EPUB 3.0 取代了之前的 EPUB 2.0.1 版。可以從 IDPF 網站找到 2.0.1 到 3.0 版本的更新內容。

EPUB 3.0 由四個規範組成：

EPUB 出版物 3.0，其定義了出版物級別的語義以及 EPUB 出版物的首要一致性要求。
EPUB 內容文件 3.0，其定義了用於 EPUB 出版社中的 XHTML、SVG 和 CSS 的配置檔案。
EPUB 開放容器格式（OCF）3.0，其定義了將一組相關的資源封裝到一個作為 EPUB 容器的單一檔案（ZIP）的檔案格式和處理模型。
EPUB 媒體覆蓋 3.0，其定義了同步文字和音訊的格式和處理模型。

EPUB 3.0 格式旨在解決下列問題：

雖然 EPUB 能夠很好的處理以文字為主的書籍，但其可能不適合那些諸如漫畫書的需要精確佈局的出版物。雖然這被認為是在解決一個已經解決了的問題，而不是解決懸而未決的問題。
阻礙大多數科技出版物使用 EPUB 的主要問題是其不支援 MathML 等式格式。現在，其被作為點陣圖或 SVG 圖片被嵌入，不能被螢幕閱讀器處理，也不能與計算機代數系統互動。EPUB 3.0 規範加入了對 MathML 的支援。
對 EPUB 規範的其他批評是該規範缺少對鏈入 EPUB 書籍、在 EPUB 書籍之間跳轉、在 EPUB 書籍之內跳轉的定義和缺少對註釋的定義。對這些連結跳轉的阻礙是因為 EPUB 容器使用的是 ZIP 檔案。此外，目前還不清楚使用 EPUB 的內部結構標記和直接連結 ZIP 的檔案結構哪個更好。不能以標準方式註釋 EPUB 書籍可能會導致難以共享和轉移註釋，進而限制了使用 EPUB 的情景，特別是在教學環境中，其不能提供和網路相媲美的互動性。

2.4 2.0.1 版

EPUB 2.0 釋出於 2007 年 10 月，2010 年 9 月釋出的維護更新版本（2.0.1）對該規範進行了澄清和校正。EPUB 2.0.1 版有三個規範組成：

開放出版結構（OPS）2.0.1，包含其內容的格式。
開放包裝格式（OPF）2.0.1，使用 XML 描述.epub 檔案的結構。
開放容器格式（OCF）2.0.1，以 ZIP 文件存檔所有檔案。

EPUB 內部使用 XHTML 或 DTBook（數位無障礙資訊系統聯盟提供的一種 XML 標準）表示文字並組織內容文件，使用 CSS 的子集提供的佈局和格式化。XML 用於建立文件清單、目錄和 EPUB 元資料。最後，檔案被捆綁在一個 zip 檔案之中作為一個包裝格式。

2.4.1 開放出版結構 2.0.1

EPUB 檔案使用 XHTML 1.1（或 DTBook）構建 2.0.1 版本書籍的內容。這與之前的版本不同（OEBPS 1.2 及更早），其使用的是 XHTML 的子集。然而，在某些元素上存在限制。EPUB 中 XHTML 文件的網際網路媒體型別是 application/xhtml+xml。對於所需 XHTML 模組的列表和限制的描述，可以檢視規範的 2.2 節。

樣式和佈局使用 CSS 2.0 的子集，參考開放出版結構樣式表。此規範的語法要求閱讀系統僅支援一部分 CSS 屬性，並附加了一些自定義屬性。自定義屬性包括 oeb-page-head、oeb-page-foot 和 oeb-column-number。可以使用 @font-face 屬性實現嵌入字型，同時在開放包裝格式的清單中包含字型檔案。EPUB 中 CSS 文件的網際網路媒體型別是 text/css。對於支援屬性的列表和詳細的資訊，可以檢視規範的 3.0 節。

EPUB 還要求使用網際網路媒體型別 image/png、image/jpeg、image/gif 和 image/svg+xml 支援 PNG、JPEG、GIF 和 SVG 影像。規範同樣允許其他媒體型別，但創作者必須使用支援的型別提供替代內容。對於所有需要的網際網路媒體型別的列表，可以檢視規範的 Section 1.3.7 節。

必須使用 Unicode，內容必須使用 UTF-8 或 UTF-16 編碼。這是為了支援國際化和多語種資料。然而，閱讀系統不必提供用於顯示所有 Unicode 字元所需的字型，可以使用至少一個佔位符顯示那些不能完全顯示的字元。

EPUB 的 XHTML 檔案的結構如下：

Pride and Prejudice

...

2.4.2 開放包裝格式 2.0.1

2.4.3 開放容器格式 2.0.1

2.5 數字版權管理

EPUB 檔案可以隨意的作為附加層包含數字版權管理，但這不是規範所要求的。另外，規範沒有指定任何特定的數字版權管理系統，所以出版商可以自由地選擇適合的數字版權管理計劃。然而，未來版本的 EPUB（即 OCF）可能會指定數字版權管理的格式。

EPUB 規範沒有強制或推薦使用特定的數字版權管理計劃。這可能會影響裝置對不同數字版權管理系統所支援的水平以及購買電子書的便捷性。因此，這些數字版權管理的不相容可能會按照數字版權管理系統分裂 EPUB 格式，這將破壞單一標準格式的優勢，使得消費者迷惑。

目前，擁有數字版權管理的 EPUB 檔案必須在其 ZIP 容器的根級 META-INF 目錄中包含一個名為 rights.xml 的檔案。

2.6 驗證

一個名為 epubcheck 的開源工具用於對結構化標記（OPS、OPF、OCF）及 XHTML 和圖片檔案進行驗證並檢查錯誤。該工具可以從命令列執行，也可以在網路應用程式及應用程式中作為庫使用。此工具原作中的大部分工作是在 Adobe Systems 中完成的。

軟體

3.1 Epub 閱讀軟體

3.1.1 Windows

Microsoft Edge：微軟為 Edge 加入支援開啟 EPUB 的功能，但後來又取消此功能。
SumatraPDF：Windows 平臺上一款免費閱讀器，支援開啟 PDF, ePub, MOBI, XPS, DjVu, CHM, CBZ 和 CBR 格式。

3.1.2 Linux

Okular：2005 年 Google Summer of Code 開發的專案、以 KPDF 為基礎、並代替 KPDF、KGhostView、KFax、KFaxview、與 KDVI，成為 KDE 4 的檔案檢視器，支援下述檔案： PDF、PostScript、TIFF、CHM、DjVu、DVI、XPS、ODF、FictionBook、Comicbook、Plucker、EPUB、Mobi 。

3.1.3 macOS、iOS

Apple Books：Apple 的電子書閱讀工具，支援書面材質、翻頁特效、標註、Spotlight、字典功能，能夠透過自家 iBooks Store 下載電子書。

3.1.4 跨平臺

FBReader：可在 Windows、Linux、macOS、iOS、Android，以及多種 PDA 上使用的開放原始碼閱讀軟體，支援多種檔案格式。
Mobipocket ：PC、PDA、電子書裝置（Symbian、 Windows Mobile、 Palm OS、 webOS、Java ME、 BlackBerry、 Psion、Kindle and iLiad），Mobipocket 於 2005 年被 Amazon 收購。
Google Play 圖書：使用者可以從 Google Play 購買和下載電子書，該服務提供超過 500 萬本電子書，Google 聲稱它是全球最大的電子書商店。使用者還可以向他們的 Google Play 圖書帳戶雲端儲存中上傳多達 1000 個 PDF 或 EPUB 格式的電子書，並在多個裝置之間同步。但不支援上傳受到 Google Play 圖書 數字著作權管理（DRM）保護的電子書。
Firefox，需外掛 EPUBReader

3.2 Epub 製作軟體

Sigil：跨平臺的開源 epub 電子書編輯器，支援 Windows、Linux 和 Mac 系統。
Google 檔案：Google 提供的網頁式辦公套件線上服務，在檔案 -> 下載 ->EPUB Publication (.epub) 之選項。
LibreOffice：開放的辦公室套裝軟體，在 6.0 版中增加「匯出為 EPUB」之選項。支援 Windows 、 Mac 及 Linux。
calibre：自由、開源、跨平臺的電子書軟體套裝，可以用來組織、存放以及管理電子書。可能在數字版權管理的限制下轉換電子書的格式。可以閱讀、製作 epub 以及把 epub 轉換為 html、odt、docx。