Calibre
我有很多电子书——非常多。我曾经是那种书呆子,当我发现古登堡计划和珀尔修斯计划时,确信末日审判会在明天发生,因为生活已经达到了天堂平原上的最高峰。
如果末日审判没有发生,核战争可能会发生。所以我想要确保我能得到所有我能找到的书籍。当 Fictionwise 和 Tor 开始赠送书籍时,我也在那里。当非 DRM 加密的书籍通过 Smashwords 提供时,我开始在我能负担得起的情况下购买它们。Doctorow 的作品和我朋友们的其他电子书也是如此——更不用说我用于研究的数百本 NASA、海军和陆军手册了。
自从发现珀尔修斯计划以来,快进了 13 年,我拥有的电子书比我真正知道如何处理的还要多。与其说是令人尴尬的财富,不如说是一团糟,是时候做点什么了。
我的图书馆组织项目的第一代采用了任何有能力的、非数据库设计的系统管理员都会做的方式:采用合理的目录结构。经过数小时的努力,我最终得到一个系统,这个系统对于非小说类书籍来说非常出色,但对于小说类书籍来说却很糟糕。毕竟,使用良好的目录树,您能做的最好的事情就是按类型、作者和系列进行分类。这对于参考资料来说是足够的,但对于不可避免的“嗯……我接下来想读什么?”来说就不是很好了。
一个好的图书馆需要好的元数据,而目录结构根本没有。许多阅读器附带的电子书管理软件试图做到这一点,但它们往往与设备和操作系统有专有联系。它们通常对 Linux 不友好,并且对馆藏的长期保存也不是很友好。DRM?专有格式?谢谢,不用了。
我需要的是像 iTunes 或 Amarok 这样的东西,但具有体面的界面,专为书籍设计。幸运的是,遇到这个问题的不止我一个人。
Calibre 出现了,这是一个基于 Python 的、数据抓取的、通用设备兼容的电子书管理和转换程序。产品规格雄心勃勃,实现方式虽然偶尔有些坎坷,但非常出色。
与大多数专有的、设备特定的管理程序不同,Calibre 将所有主要格式相互转换(我不知道它如何处理 DRM,因为在撰写本文时,《数字千年版权法案》的推翻刚刚发生——可喜可贺!——因此任何此类功能尚未记录在案),并允许对所有格式进行中等粒度的元数据控制。对于细粒度的元数据控制,您需要更专业的工具,或者您需要使用兼容的编辑器直接编辑文件。例如,Sigil 在 EPUB 方面做得非常出色。对于拥有多种电子阅读器类型的家庭来说,这是必须的。
Calibre 还可以自动填充您图书馆的元数据,通过标题、作者和 ISBN 从许多不同的在线数据库中提取元数据。
它允许评分,因此您可以跟踪您有多喜欢您的书。
它有一个非常漂亮的封面艺术浏览器。
它可以将开放文档格式文件存储为电子书,并为它们创建元数据。这使其具有作为作者版本控制系统的意外实用性。
它带有一个本地电子书阅读器,该阅读器允许有限的注释,并且可以查看许多受支持的格式。对于 Calibre 不直接支持阅读的格式,它将通过单击按钮启动您操作系统的默认查看器。
它还将同一本书的多种格式嵌套在数据库和目录结构中的同一条目下,因此当您将 PDF 转换为 Kindle 格式以供您的 Kindle 使用时,您的书列表中不会弹出重复的标题。
它可以同步到 20 多种不同品牌和型号的电子书阅读器,并且还允许您以大容量存储模式访问大多数阅读器(即使是不受支持的阅读器),因此如果您以后更换阅读器平台,您也无需担心未来兼容性问题。
那么,我们还在等什么呢?
可以在一个设计非常出色的网站上找到 Calibre:www.calibre-ebook.com。单击下载按钮,从后续屏幕中选择 Linux(您会注意到它也可以在 Mac 和 Windows 上运行——对于我们这些拥有多平台网络的人来说,这是一个优点),并首先阅读后续屏幕。
Calibre 对依赖项很挑剔;glibc 和 Python 版本尤其重要。最新的发行版都符合要求,但较旧的发行版可能需要一些更新才能正常工作(您也可能需要自己编译它们——这是一项相当简单的任务——当然,您的里程可能会有所不同)。
假设您符合要求,请将代码从代码窗口复制到您的 root 终端(您必须以 root 身份运行安装;否则,它往往会失败,并带有关于您的智力、出身和娱乐嗜好的令人讨厌的评论),然后按 Enter 键。如果一切顺利,您的窗口管理器的开始菜单中应该会出现一个新项目。如果没有出现,您很可能错过了某个依赖项。
Calibre 的项目经理 Kovid Goyal 值得大力表扬(并在小费罐中给他小费)。该程序不仅组织良好、网站易于导航、安装相对轻松,而且文档也非常全面。
当您打开 Calibre 时,您会看到主界面屏幕(图 1)。
您会注意到独特的界面概念。没有标准的菜单栏——只有一个工具栏,其中包含一些基本按钮和按钮下方的下拉菜单,使您可以访问这些工具中每一个工具的更精细的控件。
从左上角开始是启动所有操作的按钮:添加书籍。附加到它的列表框为您提供以下选项:添加单本书籍、添加目录或嵌套目录结构,或者向数据库中添加一个空条目,您可以在以后填充该条目。如果您还要将您的实体书添加到馆藏中,则最后一个选项非常有用——它可以充当占位符,并提供有关书籍存放位置的说明。
向右移动是元数据工具。这是您数据库的核心和灵魂。元数据是您所有明显的标签:ISBN、作者、系列名称、出版商、版权日期、该版本的出版日期等等。它还包括封面艺术、您拥有该书的不同格式的列表、注释字段和标签字段。从远程服务器获取元数据会为您填充字段,但不包括封面艺术,并且它会将书籍背面的副本放在注释字段中,并将类型放在标签字段中。下载封面艺术会从 ISBN 或 Google 图书服务器中提取链接到该 ISBN 的封面艺术。如果您获得了您不想要的版本的艺术作品,您可以随时手动替换它。
按下元数据按钮会调出您选择的单本书籍的元数据编辑屏幕(图 2)。使用下拉列表,您可以使用批量功能以各种方式对多个选定书籍的元数据执行操作——非常方便。
第三个按钮是转换工具,它允许您将一种格式转换为另一种格式——对于像 Kindle 这样的设备非常方便,Kindle 只读取一种专有文件格式。您可以将 EPUB、格式正确的 PDF(某些格式约定,如页眉和页脚,可能会导致严重的麻烦)、OpenOffice.org 文档等等转换为 Kindle AZW,以便在您的 Kindle 上轻松查看。在许多情况下,默认设置非常足够,但对于不适用默认设置的情况,该工具使您可以直接访问文档的结构和几个 XML 通配符。这是该程序中在撰写本文时文档记录不完善的部分,因此如果您的默认转换结果不理想,您需要进行实验。
下拉列表还为您提供了创建设备可导出的图书馆目录的选项——对于那些喜欢与朋友比较书单的人,或者像我一样,只是对图书馆目录着迷的人来说非常方便。(不要笑,我们这样的人比您想象的要多,我们生活在互联网上,拥有庞大的僵尸网络供我们支配。嘲笑我们,后果自负。)
接下来是“查看”按钮,它是不言自明的。单击它会打开该书可用的最高优先级格式的默认查看器。单击列表框为您提供进一步的选项,以查看特定格式,而不是仅仅使用 Calibre 按编号为您选择的格式。
接下来,有一个名为“获取新闻”的奇怪按钮。这实际上是一个非常复杂的 RSS 阅读器,它预装了 1000 多个不同语言的新闻源。如果您的电子阅读器没有 Wi-Fi 或 3G,并且您想批量下载您的早间新闻或博客,那么这个工具非常适合您。它可以下载任何带有 RSS 源的内容,因此您可以随时将 Doctorow 当前小说的最新部分添加到您的图书馆中。
如果您尚未安排任何内容,则单击该按钮会调出计划窗口(您可以在此处设置下载计划),或者如果您已安排下载,它会抓取所有排队的下载。使用下拉菜单可让您获取新闻并通过为您的特定新闻阅读需求创建“配方”来自定义源(基本上,是 RSS 源列表以及您希望它们在您的自定义电子报纸中显示的方式)。
下一个按钮是您的设备控制器。它将您选择的阅读列表与您的电子阅读设备同步。下拉菜单允许您选择特定的驱动程序(如果自动检测无法正常工作)并调整其他同步设置。
如果您的设备无法识别,原因是驱动程序问题、内核问题或设备太新而没有驱动程序,请不要担心。“保存到磁盘”按钮是下一个按钮,它会将选定的书籍保存到您文件树中的任何位置,包括 USB 大容量存储设备,例如您的电子阅读器的内部闪存。使用此选项时,您通常需要重新启动设备,以便它重新扫描其文件树并相应地更新其数据库。
接下来是“删除书籍”按钮,这也是不言自明的。下拉菜单为您提供以下选项:删除单本、多本、仅删除所选标题中包含的特定格式、仅删除封面艺术,或从连接的设备中删除所选书籍,但不从图书馆中删除。
最后,是“首选项”按钮,它会调出所有对话框的祖父(图 3)。这是操作的核心,提供对数据库、调试功能、转换默认值和许多其他内容的较低级别访问权限。也许最有趣的是 Calibre 服务器设置,它允许 Calibre 像远程图书馆系统一样为网络上的其他计算机(或互联网上的计算机,如果您经常在办公室突然需要您的电子书之一)运行。几乎所有内容都在这里,尽管它很复杂,但都是不言自明的。
在按钮栏下方,有一个字段列出了可用的馆藏。Calibre 可以支持多个图书馆,您可以在此处在它们之间切换。下方是搜索栏。它不会在书籍中搜索,唉,但它确实可以非常有效地搜索元数据。
再次向下移动,是图书馆本身。在左侧窗格中,您会找到可用的层次结构——作者、出版商、标签、格式和评分。它将所有这些作为预先排序的搜索提供,单击它们将修改您在中心窗格中看到的列表。
中心窗格是您的图书馆本身。所有元数据都以易于阅读的交替颜色的行中列出。您只需单击列标题即可按任何可用字段按字母顺序组织它们,就像您可以使用任何电子表格或其他列表驱动程序一样。
最右侧的窗格向您显示封面艺术以及当前突出显示的书籍的快速摘要。文件类型、注释等都显示在此处。
最后,沿着屏幕底部是三个控制程序布局的按钮。切换这三个按钮会打开和关闭屏幕上的不同窗格。在我的默认布局中关闭的一个是图形书架(图 4)。
这个方便的界面允许您像浏览书架上的书籍一样翻阅列表(搜索限制和所有内容)。单击左键会移动到列表中更靠上的项目,单击右键会移动到列表中更靠下的项目。
如果您像我一样,您可能已经拥有某种电子书图书馆,因此您需要首先导入您已有的内容。由于 Calibre 的图书馆导入功能会进行一些破坏性的重写,因此值得创建图书馆的备份副本,以防万一。
导入后,您的列表中将会有书籍——可能有很多书籍。而且,由于大多数电子书元数据往往很差,因此您列表中的书籍可能很随意,并且组织不善。
组织它们可能是一个费力的过程,但是有一些方法可以使这项工作不那么令人厌烦——批量编辑元数据是其中最重要的方法,如前所述。例如,如果您有同一作者的 20 个标题,您可以选择所有这些标题,右键单击其中一个标题,然后从弹出菜单中选择“批量编辑元数据”。在结果屏幕中,您可以设置作者、类型标签、出版商标签和大多数(但不是全部)其他数据字段,以帮助您进行排序。您还可以选中一个小的复选框,上面写着“交换作者和标题字段”。这一个特别有用,因为许多标记不佳的电子书的这些字段标记错误。
一旦组织完成,让您满意,您就可以开始了。
尽管该程序在大多数方面都很出色,但在某些方面仍然存在不足。
第一个也是最令人恼火的问题是,这在一定程度上是开发团队的责任。最新版本的 Linux 内核下的 USB 堆栈偶尔会出现故障。因此,最近的几个发行版,包括我运行的其中一个发行版,在同步到外部设备时遇到了麻烦。该设备将显示为大容量存储设备,但尝试访问设备的内部数据库会导致崩溃、令人讨厌的核心转储、段错误以及偶尔爆炸的计算机。
在最新的内核版本中,这似乎不再是一个问题,但是如果您遇到它并且无法升级您的内核或发行版,您通常可以退回到大容量存储模式并通过“保存到磁盘”按钮手动同步您的书籍。
我的另一个抱怨是只有一个注释字段。深度注释书籍或保留书籍评论的能力根本不存在。这将束缚研究迷和狂热书虫的风格。希望这将在未来的版本中得到补救(似乎不缺少潜在的元数据字段)。
Dan Sawyer 是 ArtisticWhispers Productions (www.artisticwhispers.com) 的创始人,这是一家位于旧金山湾区的小型音频/视频工作室。自 20 世纪 90 年代末以来,他一直是自由和开源软件的热情倡导者。他目前正在播客他的科幻惊悚小说 Antithesis 和他的短篇小说集 Sculpting God。他还主持文化评论播客“The Polyschizmatic Reprobates Hour”。作者联系信息可在 www.jdsawyer.net 上找到。