电子书,或 eBooks,已经存在很长时间了,但是方便的阅读设备是相对较新的发展。 在手机、平板电脑和专用电子书阅读器之间,您很可能在生活中拥有某种可以用来阅读电子书的设备。 这对于提高您的阅读量来说是件好事,但这引发了一个问题:有哪些开放的电子书文件格式,以及哪种格式最好。
为什么选择电子书?
电子书很棒。我使用它们的时间比专用阅读器存在的时间要长得多。
我喜欢电子书使我能够随身携带多卷文本,而无需实际承担多沓纸的重量。 当然,我可能不会在杂货店排队时真正阅读儒勒·凡尔纳的全部作品,但是知道我拥有它们以防万一会让我感到欣慰。 我还喜欢它们使我能够找到我最喜欢的引言或段落的能力,以及视力有限的读者可以放大文本以便他们可以阅读,或者完全失明的读者可以让他们的计算机将文本读给他们听。 我很高兴能够在会议上以重构文本的形式做笔记,并使用 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。 放置在zip容器头部的单行mimetype文件,将容器标识为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可以处理的大多数内容。
- 通过使用标准HTML和CSS进行格式化,EPUB允许用户根据需要覆盖样式,这意味着用户可以根据需要修改字体,颜色和大小。
- 通过开源EPUB阅读器应用程序在许多电子阅读器设备以及大多数计算机和手机上得到很好的支持。
- 由于EPUB基于HTML,因此很容易转换。
劣势
- 某些设备可能不支持EPUB,需要进行转换。
结论
EPUB是电子书应有的格式,对我而言,它是衡量所有其他格式的标准。 它以轻巧,开放和明智的容器提供内容丰富,易于阅读的书籍。
纯文本
最初的电子书格式是纯旧的ASCII(尽管希望今天可以选择Unicode)。 这是计算中最通用的格式; 任何平台上任何操作系统都可以读取它,并且任何文本处理器都可以从中进行转换。
优势
- 任何人都可以创建纯文本,而无需任何特殊工具或知识。
- 纯文本是将转换为其他格式的安全可靠的来源。
- 大多数设备都支持以某种方式查看纯文本。Android设备可以在任何笔记或办公应用程序中查看纯文本,计算机具有文本编辑器,电子阅读器通常在默认阅读应用程序中打开纯文本。 甚至某些便携式音乐播放器(以及加载了Rockbox的任何音乐播放器)都可以查看纯文本。
- 纯文本可以重排句子,以便内容动态调整为不同大小的屏幕。
劣势
- 可以说纯文本实际上不是电子书格式。 它无法从目录超链接到特定章节,也不支持图像,等等。 从某种意义上讲,它没有利用电子书在使信息更快地定位方面所提供的任何点击式优势。
- 您可以动态更改文本的布局以适应不同大小的屏幕,但是如果作者在80个字符后对换行符进行了硬编码,那么无论您的阅读器如何调整,格式都会将自身限制为每行最多80个字符,或者在不寻常的地方换行。
结论
可以肯定地说,虽然纯文本可以持久地适应未来,并确保跨设备的兼容性,但它不是电子书的理想格式。 但是,只要文档的布局一致,就可以轻松地将纯文本解析为其他格式。 为了确保格式的一致性,请考虑使用“标记向下”规则,例如重组文本(RST)。
FictionBook
FictionBook(.fb2)电子书是一种XML格式,可将整本书(包括所有图像)放置在一个文件中。 因此,它并非旨在存储扫描的文档(例如整本漫画书或历史传真的完整扫描),而是主要基于文本的书籍,其中包含一个或几个图像。
作为XML,它继承了我们希望从电子书中获得的所有现代功能。 它可以包含超链接,字体样式和复杂的布局。 它是原生的动态的,因此它将流畅地包装文本以适应任何大小的屏幕。
生成FictionBook文件与生成XML文件一样容易。 可以在任何文本编辑器(或很多echo
语句,如果您是受虐狂)中完成,并且eReader将即时完成所有转换,以将该书显示为易于阅读的文档。
作为XML,文件格式至少是结构良好的,并且很容易被计算机解析,甚至被对XML标签视而不见的人解析。
优势
- FictionBook是一种通用标记语言中的开放格式,所有内容都包含在一个文件中。
- 富文本,具有图像,超链接和本机动态内容和文字换行。
- 易于创建和转换,只要您熟悉XML及其相关的工具链(例如xmllint和类似nxml-mode的工具)。
劣势
- 专用电子阅读器设备上的支持不足。 但是,如果您的设备运行FBReader,则可以阅读.fb2文件。
- 一种书/一个文件的传统可能会随着.fb3的淘汰而逐渐消失,后者正朝着包含封面图像,书文件和元数据文件(如EPUB)的zip文件发展。
结论
FictionBook格式在英语电子书市场中并不流行,尽管它在某些语言中得到了支持,因此您可能会或可能不会专门寻找.fb2文件。
如果您偶然发现一个,或者打算生成自己的一个,那么它是否适合您的“正确”选择完全取决于您的使用方式。 如果您使用或很高兴开始使用可以读取.fb2文件的应用程序,那么它是一种非常不错的格式,它本身是独立的且功能强大。
HTML
作为网络语言,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可能易于编写和阅读,但它也存在一些弱点。 你可以链接到图像,但图像存储在哪里? eReader通常难以将目录视为书籍,因此图像的路径需要保持不变。 此外,一个HTML作品通常会被分成多个页面,因此一本包含25个章节的书籍可能会有超过25个相关文件; 如何在eReader中管理所有这些文件?
当然,答案是你不能这样做。 如果你从网上下载了一系列HTML文档,并想随身携带以备日后使用,请尝试将HTML包装成你的eReader可以视为电子书的格式。 只要所有路径都正确(如果你在Firefox中查看一个包含HTML文件的文件夹,并且一切看起来都正确,那么你的路径就是正确的),使用Pandoc从HTML进行转换就很简单。 一个简单的例子,假设你的目标设备可以很好地支持EPUB:
$ pandoc -f html -t epub3 index.html about.html \
chapter1.html colophon.html -o book.epub
优势
- HTML是网络的通用语。
- HTML易于编写和阅读。 它支持动态和超链接文本、样式和图像。 由于其良好的结构,它很容易从HTML转换为其他格式,或转换为HTML。
劣势
- 许多电子阅读器将不同的文件和资源视为独立的文档。
- 并非所有电子阅读器都支持。
结论
就文件规范而言,HTML是一种非常棒的格式,并且非常适合电子书,但由于eReader倾向于假设每本书一个文件,因此在兼容性方面存在问题。 如果你碰巧有一个装满HTML的目录,并且想随身携带,请将其转换为适当的电子书格式以获得更好的兼容性。
PDF文件格式的开发是为了提供用于打印页面的内容。 它最初被认为是“预飞”渲染器:用户可以期望从打印机中看到的数字版本。
大概是因为缺乏更明显的选择,人们最终开始使用PDF作为分发几乎任何他们不打算让其他用户直接编辑的文档的方式。
优势
- 保留了书籍的打印布局,无论它是否适用于数字屏幕。
- 大多数eReader和设备都支持的格式。
劣势
- 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下载之间的差异。
不幸的是,在专用eReader设备上几乎不存在.djvu支持。 虽然它通常不是移动设备和计算机上的内置功能,但有几个应用程序支持查看和创建DjVu文件,包括djvulibre软件包、Evince文档查看器和Android上的FBReader。
优势
- 比jpeg更好的页面传真压缩,可嵌入文本; 在功能上,它是PDF的一种更高效、开放和更简单的替代品。
劣势
- 在电子阅读器上未得到广泛支持。
- 特定于分辨率。
结论
一种文件大小和效率方面具有优势的良好格式,但由于支持有限,可能不适合日常使用。
漫画书存档
顾名思义,漫画书存档是一种用于漫画书和图形小说的数字存储和消费的格式。 它同样适用于你没有任何文本的书籍,或者你想要或需要将其视为图形的书籍。
当然,这本质上与PDF存在相同的问题,即图形无法为你的电子阅读器屏幕动态地重新包装自身,但格式本身非常开放,如果你有时间和耐心,则允许进行重组。
事实上,漫画书存档只不过是一个包含一系列图像(分别为.cbz和.cbr)的.zip或.rar文件夹。 电子书阅读器将文件视为一本书,并按顺序显示图像,并动态解压缩每个图像。
优势
- 仅使用现有技术的开放格式。 没有膨胀; 一种非常干净的格式。
- 主要对图像类型漠不关心(尽管你的电子阅读器可能不是),因此图像压缩级别是可调的。
劣势
- 特定于分辨率。
结论
作为一种存储和消费格式,这是以数字方式存档漫画和扫描传真的理想方式。 由于它只不过是一个压缩的图像目录,你甚至可以将高质量的主版本存储为主副本,并为你的设备创建一个较低质量的“便携”版本。
概述
电子书格式难题可以归结为以下几点:有源格式,有用于消费的格式(通常由你的电子阅读设备支持的格式决定),还有供应商或分销商提供给你的格式。
不幸的是,这些并不总是相互对齐的。
如果世界默认使用开放格式那就太好了,因为开放格式易于转换,并且可以以编程方式生成,以便根据你的需求为你提供最佳选择。 但情况并非总是如此,因此你需要决定哪种格式最适合你。
好消息是,在不考虑DRM(供应商对书籍施加的数字限制)的情况下,转换通常是一种选择。 获取你的内容,按照你需要的方式对其进行处理,以便它可以为你工作,并且始终将最开放的格式作为备份。
17 条评论