Epub

**EPUB**（Electronic Publication 的縮寫，電子出版）是一種電子圖書標準，由國際數位出版論壇（IDPF）提出；其中包括 3 種檔案格式標準（檔案的副檔名為 `.epub`），這個格式已取代了先前的 Open eBook 開放電子書標準。

## 概覽

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 合併。

## 檔案格式

### 3.2 版 (當前版本)

### 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.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.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 檔案的結構如下：

#### 開放包裝格式 2.0.1

#### 開放容器格式 2.0.1

### 數位版權管理

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

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

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

### 驗證

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

## 軟體

### Epub 閱讀軟體

#### Windows

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

#### 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 。
* 

#### macOS

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

#### iOS

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

#### Android

#### 跨平台

* FBReader：可在 Windows、Linux、macOS、iOS、Android，以及多種 PDA 上使用的開放原始碼閱讀軟體，支援多種檔案格式。
* calibre：一個自由開源的電子書軟體套裝，可以用來組織、存放以及管理電子書，支援大多數的電子書格式。同時也支援與許多流行的電子書閱讀器進行同步，並可能在數位版權管理的限制下轉換電子書的格式。
* 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）保護的電子書。

### Epub 製作軟體

* Sigil：跨平台的開源 epub 電子書編輯器，支援 Windows、Linux 和 Mac 系統。
* Google 文件：Google 提供的網頁式辦公套件在線服務，在檔案 -> 下載 ->EPUB Publication (.epub) 之選項。
* LibreOffice：開放的辦公室套裝軟體，在 6.0 版中增加「匯出為 EPUB」之選項。支援 Windows 、 Mac 及 Linux。
* calibre：一個自由開源跨平台的電子書軟體套裝，可以用來組織、存放以及管理電子書，支援大多數的電子書格式。同時也支援與許多流行的電子書閱讀器進行同步，並可能在數位版權管理的限制下轉換電子書的格式。

## 參考文獻

## 外部連結

* Epub 格式建構指南（頁面存檔備份，存於網際網路檔案館）（亦適用於 EPUB（頁面存檔備份，存於網際網路檔案館））
* Adobe 公司所提供的電子書範本圖書庫（頁面存檔備份，存於網際網路檔案館）
* Infogrid Pacific 公司所提供的電子書範本圖書庫
* （**簡體中文**）使用 EPUB 製作數字圖書教程（頁面存檔備份，存於網際網路檔案館）