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合并。
 文件格式 

 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网站找到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文件的结构如下：
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-TW">
  <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
    <title>Pride and Prejudice</title>
    <link rel="stylesheet" href="css/main.css" type="text/css" />
  </head>
  <body>
    ...
  </body>
</html>

 开放包装格式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  

 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格式建構指南（亦適用於EPUB）
 Adobe公司所提供的電子書範本圖書庫
 Infogrid Pacific公司所提供的電子書範本圖書庫
 使用EPUB制作数字图书教程

Category:基于XML的标准