EPUB

EPUB（Electronic Publication，電子出版）是一種電子圖書標準，由International Digital Publishing Forum（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合併。

**文件格式**

**3.3版（當前版本）**

**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網站date=20130306040812 找到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節date=20130308022540 。
樣式和佈局使用CSS 2.0的子集，參考開放出版結構樣式表。此規範的語法要求閱讀系統僅支持一部分CSS屬性，並附加了一些自定義屬性。自定義屬性包括oeb-page-head、oeb-page-foot和oeb-column-number。可以使用@font-face屬性實現嵌入字體，同時在開放包裝格式的清單中包含字體文件。EPUB中CSS文檔的互聯網媒體類型是text/css。對於支持屬性的列表和詳細的信息，可以查看規範的 3.0節date=20130308022540 。
EPUB還要求使用互聯網媒體類型image/png、image/jpeg、image/gif和image/svg+xml支持PNG、JPEG、GIF和SVG圖像。規範同樣允許其他媒體類型，但創作者必須使用支持的類型提供替代內容。對於所有需要的互聯網媒體類型的列表，可以查看規範的 Section 1.3.7節date=20130308022540 。
必須使用Unicode，內容必須使用UTF-8或UTF-16編碼。這是為了支持國際化和多語種數據。然而，閱讀系統不必提供用於顯示所有Unicode字符所需的字體，可以使用至少一個佔位符顯示那些不能完全顯示的字符。
EPUB的XHTML文件的結構如下：


Pride and Prejudice



...


**開放包裝格式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、iOS **
Apple Books：Apple的電子書閱讀工具，支援書面材質、翻頁特效、標註、Spotlight、字典功能，能夠透過自家iBooks Store下載電子書。

**跨平臺**
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 date=20240515165945  date=20240515165945 

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

**參考文獻**

**外部連結**
  Epub格式建構指南date=20090629212308 （ 亦適用於EPUBdate=20090525134359 ）- Adobe公司所提供的 電子書範本圖書庫date=20090529052442 - Infogrid Pacific公司所提供的 電子書範本圖書庫-  使用EPUB製作數字圖書教程date=20110107101423