库(Library)设计,几乎是所有强大工具的诅咒。Books(旧 iBooks)美观易用,前提是你得把书籍导进去,然后发现电脑空间以胜过病毒感染的速度在缩减1;iMovie 在免费剪辑工具中明列前茅,但也需要漫长的导入导出过程;DEVONthink 官方同样推荐将资料导入库,据说性能更好,尽管我的经验是如果不导入,就更容易出问题。
全能电子书管理器 Calibre 同样默认使用库存储,但其卓尔不群之处在于,整个软件设计更像是一个联邦,而非中央集权,即便不导入任何书籍,也可以调用许多独立的电子书工具。格式转换工具(命令行)即为适例,转换电子书格式这些小事,就可免去繁琐的导入导出。
除了格式转换工具,Calibre 还打包了一系列电子书工具(本文主要讨论 EPUB 及相关格式),其中较惹眼的,便是每次使用时都会在 Dock 栏中弹出的阅读器和编辑器。
独立于 Calibre 主程序的图标2,暗示着阅读器和编辑器很可能也是独立软件,很可能可以不涉及 Calibre 书库而独立使用。只不过,阅读器和编辑器并不位于系统或用户应用程序一级文件夹中。鉴于这哥俩即便是最强大的桌面级3电子书阅读器和编辑器,我忍不住想找出直接调用的捷径。
调用 Calibre 自带阅读器
阅读器的位置我很早就知道,毕竟在早年间,解开软件包修改资源可是一项通用技术(尽管理解这一技术的读者,未免有些掌握了铅笔倒磁带技术的白云苍狗之感)。右键点击 Calibre 主程序,查看其包内资源(Show Package Contents),马上就能见到阅读器 ebook-viewer.app。
如果没有什么特别要求,可直接将阅读器图标拖到 Dock 栏上,需临时查看不在 Calibre 库中的电子书时,将书籍文件拖到阅读器图标上便是。不过,读者可能更喜欢自动化工具,或者更青睐全键盘操作(有时兼而有之),此时就需要一些小技巧,让阅读器像寻常软件一样可及。
在 macOS 中,几乎任何软件都可利用 open 命令打开指定文件,如需令 Calibre 的自带阅读器打开特定书籍,并确保每次都在新窗口中打开而不覆盖旧窗口——这样可以做到同时浏览多本书,在主题阅读中居功厥伟——则完整命令为:
open -n "这里是书籍路径" -a "/Applications/calibre.app/Contents/ebook-viewer.app"
若将上述命令封装为一个自动化动作,就能完成接驳(其余代码细节不议)。以 LaunchBar 为例,你可以把电子书发送(Send)给封装后的阅读器动作,进而调用阅读器浏览书籍。除了直接打开 Finder 中的现成书籍,也可以配合 Calibre 书库检索动作,从搜索结果中选定待读书籍,交给阅读器。
调用 Calibre 自带编辑器
编辑器的情况稍有不同,在软件包中,似乎没有单独的程序。不过,Calibre 还留了一个命令行接口,如果你本就打算引入自动化工具以简化操作,那么究竟是单独的软件,还是一个命令行接口,对你并无实质影响。
命令行的调用方式更加简单,如下:
"/Applications/calibre.app/Contents/MacOS/ebook-edit" "这里是书籍路径"
同样,编辑器的命令也可以封装为自动化动作,以你习惯的方式取用。
除我提供的 LaunchBar 动作外,调用阅读器或编辑器的命令也可以包装到 Keyboard Maestro、Alfred 或 Shortcuts 中,通用无碍。
- 导入 Books 的书籍,最起码会在 iCloud、iCloud Container、MMCS(可能)和 session(可能)分别存储一个副本,并且互相独立,占用好几倍的空间。我曾经导入过一套漫画,电脑直接死机,检查之后才发现一百多个GB的空间被吃空了(我的 iCloud 没有那么多空间,很奇怪我为何从未收到警告)。相关问题可参阅《苹果如何吃空你那256GB的硬盘:iCloud中的幽灵缓存》和《macOS 缓存垃圾清理自助手册》。 ↩
- 视系统不同而有所差异。据我观察,同一版本的 Calibre,在 macOS 14 中可以呈现专门的编辑器图标,而到了 macOS 15 则沿用 Calibre 的主程序图标及名称。阅读器的图标倒是一直正常。 ↩
- 之所以说是桌面级,盖因移动端有个东西叫 koreader。 ↩

