电子书,或称 eBooks,已经存在很长时间了,但是用来阅读它们的便捷设备是相对较新的发展。在手机、平板电脑和专用电子书阅读器之间,您很可能在生活中拥有一些可以用来阅读电子书的设备。这对于提高您的阅读量非常棒,但它引出了一个问题,即电子书有哪些开放文件格式,以及哪种格式最好。
为什么选择电子书?
电子书很棒。在我使用电子书的时间里,专用阅读器出现的时间要晚得多。
我很欣赏电子书使我能够随身携带几卷文本,而无需实际承担几令纸的重量。当然,我可能不会在杂货店排队时阅读儒勒·凡尔纳的全部作品,但是知道我拥有它们以备不时之需让我感到安慰。我也很欣赏它们使我能够找到我最喜欢的引语或段落的能力,以及视力受限的读者可以放大文本以便阅读,或者完全失明的读者可以让他们的计算机将文本读给他们听。我很欣赏我可以在会议上用 Restructured Text 做笔记,并使用 Pandoc 将我的笔记转换为完全超链接的电子书,以便在我的飞机回家途中查看。
为什么要开放?
首先,让我们确定一下,在本文中,我们将只关注开放文件格式,以及原因。电子书开放格式最明显的优势在于,开放格式可以转换为任何其他格式,这意味着您的书可以在任何设备上阅读。当您获得一种格式的书籍,而您的设备或操作系统 (OS) 仅读取任何其他格式,但不读取该格式时,技术就会自我挫败。开放格式的基本级别不会发生这种情况。
开放格式还确保任何人都可以创建电子书。纸和笔几乎是通用的,因此如果电子书的格式是封闭的,那么我还不如学习速记。
最后,我只对完全开放的格式感兴趣;有些格式“足够开放”可以从中转换,但不够开放到任何操作系统都可以创建它们,反之亦然。这对我来说行不通,特别是作为 PowerPC Linux 用户,x86 二进制文件来创建“某种程度开放”的电子书对我没有任何用处。
在排除了这些序言之后,让我们看看有哪些格式。
EPUB
毫不讳言:EPUB 格式是电子书自诞生以来发生的最好的事情。它很简单、轻巧、跨平台且用途广泛。它是通过结合功能完善的现有技术来构建新技术的开源理想的典范。EPUB 文件基本上是一个包含一些元数据的 zip 文件中的 HTML 文件集合。
它听起来可能很花哨和技术性,但是使用 Pandoc 只需一行命令,或者从 Libre Office 导出,就可以轻松制作 EPUB。
这是我用来将会议记录转换为 EPUB 的命令
$ pandoc -f rst -t epub3 notes.rst \
-o allThingsOpen2015.epub
一个更复杂的命令,用于最近在线出版的书籍
$ pandoc -f markdown -t epub3 book.md colophon.md \
-N --epub-stylesheet=style.css \
--epub-metadata=metadata.xml
--epub-cover-image=./images/cover-front.svg \
--epub-embed-font=kabel.ttf \
--epub-embed-font=Nouveau_IBM.ttf \
-o slackermedia.epub
在紧急情况下,您甚至可以使用标准系统工具生成 EPUB。将单行 mimetype 文件放在 zip 容器的头部,将容器标识为 EPUB 文档,以及一个包含所有 HTML 资产和文件的目录,就可以呈现一个可用的 EPUB 文件。正确的目录可能更复杂,但这足以让您入门
$ echo "application/epub+zip > mimetype
$ zip -0Xq book.epub mimetype
$ zip -Xr9D book.epub META-INF/ OEBPS/
EPUB 格式很流行并且得到很好的支持。许多设备都支持它,或者它们支持可以读取它的应用程序。Firefox 插件 EPUB Reader 允许在任何运行 Firefox 的设备上轻松访问 EPUB。FBReader 在计算机和移动设备上打开它们。在紧急情况下,甚至可以解压缩 EPUB 文件并将其视为原始 HTML 进行查看。
简而言之,EPUB 格式没有任何障碍。它是开放的、可访问的,并且功能强大。
优点
- 使用 HTML 以及简单的开源技术来构建通用的电子书格式。可扩展、动态且能够处理 HTML 可以处理的大部分内容。
- EPUB 使用标准 HTML 和 CSS 进行格式化,允许用户根据需要覆盖样式,这意味着字体、颜色和大小都可以根据用户的需要进行修改。
- 通过开源 EPUB 阅读器应用程序在许多电子阅读器设备以及大多数计算机和移动设备上得到良好支持。
- 由于 EPUB 基于 HTML,因此易于转换。
缺点
- 某些设备可能不支持 EPUB,需要转换。
结论
EPUB 是电子书应有的格式,对我而言,它是衡量所有其他格式的标准。它在一个轻巧、开放且合理的容器中提供了一本内容丰富、易于阅读的书籍。
纯文本
最初的电子书格式是普通的 ASCII(尽管希望今天可以选择 Unicode)。这是计算中最通用的格式;任何平台上的任何操作系统都可以读取它,任何文本处理器都可以从中转换。
优点
- 任何人都可以创建纯文本,而无需任何特殊工具或知识。
- 纯文本是转换为其他格式的安全可靠的来源。
- 大多数设备都支持查看纯文本,无论以何种方式;Android 设备可以在任何笔记或办公应用程序中查看纯文本,计算机具有文本编辑器,电子阅读器通常在默认阅读应用程序中打开纯文本。甚至一些便携式音乐播放器(以及任何加载了 Rockbox 的音乐播放器)都可以查看纯文本。
- 纯文本可以重新包装句子,以便内容动态调整以适应不同尺寸的屏幕。
缺点
- 可以说纯文本实际上不是电子书格式。它无法从目录超链接到特定章节,它不支持图像等等。从某种意义上说,它没有利用电子书在使信息更快地定位方面提供的任何点击式优势。
- 您可以动态更改文本的布局以适应不同尺寸的屏幕,但是如果作者在 80 个字符后硬编码了换行符,那么无论您的阅读器如何调整,格式都将限制为每行最多 80 个字符,或者在不寻常的位置换行。
结论
可以肯定地说,虽然纯文本具有持久的未来适应性并确保跨设备的兼容性,但它不是电子书的理想格式。但是,只要文档的布局一致,纯文本就很容易解析为其他格式。为了确保格式的一致性,请考虑使用“标记规则”,例如 restructured text (RST)。
FictionBook
FictionBook (.fb2) 电子书是一种 XML 格式,它将整本书放在一个文件中,包括任何图像。因此,它不打算存储扫描文档(例如整本漫画书或历史传真的完整扫描件),而是作为一本主要基于文本的书籍,其中包含一个或几个图像。
作为 XML,它继承了我们期望从电子书中获得的所有现代功能。它可以包含超链接、字体样式和复杂布局。它是原生动态的,因此它可以流畅地包裹文本以适应任何尺寸的屏幕。
生成 FictionBook 文件就像生成 XML 文件一样容易。它可以在任何文本编辑器中完成(或者如果您是受虐狂,可以使用大量 echo
语句),并且电子阅读器将动态完成所有转换,以将书显示为易于阅读的文档。
作为 XML,文件格式结构良好,至少可以说,很容易被计算机解析,甚至可以被人眼解析,如果人眼对 XML 标签视而不见的话。
优点
- FictionBook 是一种开放格式,采用无处不在的标记语言,所有内容都包含在一个文件中。
- 富文本,具有图像、超链接和原生动态内容和自动换行功能。
- 易于创建和转换,只要您熟悉 XML 及其相关工具链(例如 xmllint 和 nxml-mode 等工具)。
缺点
- 在专用电子阅读器设备上支持率很低。但是,如果您的设备运行 FBReader,那么您可以阅读 .fb2 文件。
- 一个书/一个文件的传统可能会随着 .fb3 的出现而逐步淘汰,后者正朝着包含封面图像、书文件和元数据文件(如 EPUB)的 zip 文件发展。
结论
FictionBook 格式在英语电子书市场中并不流行,尽管它在某些语言中得到了支持,因此您可能或可能没有机会在没有专门寻找的情况下获得 .fb2 文件。
如果您碰巧遇到一个,或者如果您打算自己生成一个,那么它是否是您的“正确”选择完全取决于您使用的东西。如果您使用或乐于开始使用读取 .fb2 文件的应用程序,那么它是一种非常好的格式,它包含自身并且很强大。
HTML
作为 Web 语言的 HTML 是一种强大的文档格式,具有超链接、动态文本流、样式、图像链接等功能。它似乎是电子书格式的理想选择,事实上,它也成为了许多最流行的电子书格式(包括 EPUB)的基础。
HTML 作为一种格式不仅简单易学,而且无处不在。您可以在任何平台上编写它,并且显然可以在任何平台上查看它。与 XML 相比,它简单且非常简洁
<p style="color: #666;">
你好 <a href="https://open-source.net.cn/%3Ca%20href%3D"http://example.com">http://example.com">世界</a>。
<img src="https://open-source.net.cn/images/tux.png" />
</p>
HTML 可能易于编写和阅读,但事实证明它有一些缺点。您可能可以链接到图像,但是您将它们存储在哪里?电子阅读器在处理目录作为书籍时往往表现不佳,因此图像的路径需要以某种方式保持完整。HTML 作品也倾向于分为多个页面,因此一本 25 章的书籍可能有多达 25 个与之关联的文件;您如何在电子阅读器中管理所有这些文件?
答案当然是,您不这样做。如果您从 Web 下载了一组 HTML 文档,并想随身携带以供以后使用,请尝试将 HTML 包装成您的电子阅读器可以将其视为电子书的格式。转换很简单,只要所有路径都正确(如果您在 Firefox 中查看装满 HTML 文件的文件夹并且一切看起来都正确,那么您的路径是正确的),您可以使用 Pandoc 从 HTML 进行转换。一个简单的示例,假设您的目标设备对 EPUB 感到满意
$ pandoc -f html -t epub3 index.html about.html \
chapter1.html colophon.html -o book.epub
优点
- HTML 是 Web 的通用语言。
- HTML 易于编写和阅读。它支持动态和超链接文本、样式和图像。由于结构良好,因此易于从 HTML 转换或转换为 HTML。
缺点
- 许多电子阅读器将其视为不同文档的不同的文件和资产。
- 并非所有电子阅读器都支持。
结论
HTML 是一种很棒的格式,就文件规范而言,它是电子书的理想选择,但由于电子阅读器倾向于假设每本书一个文件,因此在兼容性方面存在困难。如果您碰巧有一个装满 HTML 的目录,并且想要随身携带,请将其转换为适当的电子书格式以获得更好的兼容性。
PDF 文件格式的开发是为了交付旨在用于印刷页面的内容。它最初被认为是“预飞”渲染器:用户可以期望从打印机中看到的精确数字版本。
大概是因为缺乏更明显的选择,人们最终开始使用 PDF 作为分发几乎任何他们不打算让其他用户直接编辑的文档的一种手段。
优点
- 保留书籍的打印布局,无论它是否适合数字屏幕。
- 在大多数电子阅读器和设备上得到良好支持的格式。
缺点
- PDF 旨在用于打印,与分辨率无关,并且不能很好地适应屏幕尺寸。
- 就转换而言,几乎是死胡同格式。手动复制和粘贴底层文本是可能的(如果文本已嵌入),否则您无法从 PDF 转换为另一种格式。
- 根据创建时使用的图像压缩选项,可以呈现非常大的文件。
- 设备可能支持 PDF 格式,但无法以可读且方便的方式显示大多数 PDF。从图像类型支持到字体冲突,一切都可能阻碍内容是否完全呈现。
结论
从某种意义上说,PDF 格式更适合传递样式而不是内容。PDF 往往体积大、效率低下且特定于分辨率。由于电子书的普及,已经开发出“重排”功能,尽管 PDF 必须在创建时就写入了重排功能,但即使这样,也很少有设备支持该功能。
如果您有选择,请避免使用 PDF 作为电子书。如果您自己生成内容,请使用 PDF 以外的任何格式。如果您在没有发言权的情况下获得了 PDF,并且在您的设备上阅读它时遇到困难(不断放大内容以通过显微镜镜头阅读句子在第 10 页左右后变得很吃力),请使用 pdftotext 从 PDF 中提取文本
$ pdftotext ~/book.pdf book-text.txt
或 pdftohtml。
$ pdftohtml ~/book.pdf book-html.html
这些是获取 PDF 内容的好解决方案,但结果(和可读性)各不相同。
事实是,将传统排版书籍转换为数字格式并非易事。如果容易的话,古腾堡计划 现在就完成了。即使是扫描并通过光学字符识别运行的书籍也需要进行大量的清理,并且至少要对错误进行一次检查。
有些书籍不能完全转换为文本文档,因为它们不仅仅是文本文档。为了保存一些书籍,最好的解决方案是扫描每一页,然后将所有扫描件转储到某个容器中。
可能看起来这对于 PDF 来说是完美的使用案例,并且为了兼容性,但如果您的电子阅读器功能特别丰富,或者您在计算机或移动设备上阅读电子书,那么您可能支持漫画书存档或 Djvu。
DjVu
DjVu 格式不仅是一种电子书格式,而且还是一种压缩格式。DjVu 文件通常比 jpeg 文件还要小,但质量相同。对于小型电子书,差异可能微不足道,但对于较大的作品,它可能意味着 80mb 下载和 20mb 下载之间的差异。
不幸的是,.djvu 支持在专用电子阅读器设备上几乎不存在。虽然它在移动设备和计算机上通常不是内置功能,但一些应用程序支持查看和创建 DjVu 文件,包括 djvulibre 软件包、Evince 文档查看器和 Android 上的 FBReader。
优点
- 比 jpeg 更好的压缩,用于印刷页面的传真副本,可嵌入文本;在功能上,是 PDF 的更高效、开放和更简单的替代品。
缺点
- 在电子阅读器上未得到广泛支持。
- 特定于分辨率。
结论
一种格式良好,在文件大小和效率方面具有优势,但由于支持有限,它可能不适合日常使用。
漫画书存档
顾名思义,漫画书存档是一种旨在用于漫画书和图画小说的数字存储和消费的格式。它同样适用于您没有文本或想要或需要作为图形查看的任何书籍。
当然,这本质上与 PDF 存在相同的问题,即图形无法为您的电子阅读器屏幕动态重新包装自身,但是该格式本身非常开放,如果您有时间和耐心,则允许进行重组。
实际上,漫画书存档只不过是一个 .zip 或 .rar 文件夹,其中包含一系列图像(分别为 .cbz 和 .cbr)。电子书阅读器将该文件视为一本书,并按顺序显示图像,动态解压缩每个图像。
优点
- 仅使用现有技术的开放格式。没有臃肿;非常干净的格式。
- 在很大程度上与图像类型无关(尽管您的电子阅读器可能并非如此),因此图像压缩级别是可调整的。
缺点
- 特定于分辨率。
结论
作为存储和消费的格式,这是以数字方式存档漫画和扫描传真的理想方式。它只不过是一个压缩的图像目录,您甚至可以将高质量的主版本存储为主副本,并为您的设备创建低质量的“便携式”版本。
概述
电子书格式难题归结为以下几点:有源格式、有消费格式(通常由您的电子阅读设备支持的格式决定)以及供应商或分销商为您提供的格式。
不幸的是,这些并不总是相互一致的。
如果世界默认使用开放格式,那就太好了,因为开放格式易于转换,而且可以编程生成,以根据您的需求为您提供最佳选择。情况并非总是如此,因此由您来决定哪种格式最适合您。
好消息是,撇开 DRM(供应商对书籍施加的数字限制)不谈,转换通常是一种选择。获取您的内容,按照您需要的方式处理它,以便它适合您,并始终将最开放的格式作为备份。
17 条评论