Calibre:// URL方案

Calibre将自身注册为Calibre://URL的处理程序。因此,您可以使用它们来执行从其他程序/文档或通过命令行打开书籍、搜索书籍等操作。例如,在命令行中运行以下命令:

calibre calibre://switch-library/Some_Library

将使用名为``某些书库``的书库打开Calibre。书库名称是书库文件夹的文件夹名称,用下划线替换空格。特定值``_``表示当前书库。下面记录了各种类型的URL。

您甚至可以将这些链接放在HTML文件或Word文档或类似文件中,操作系统将自动运行Calibre来执行指定的操作。

切换到指定书库

URL语法为:

calibre://switch-library/Library_Name

库名称是库的文件夹名称,用下划线替换空格。特定值``_``表示当前库。您还可以对库名使用`十六进制编码<hex_encoding>`,如果库名包含需要URL编码的特殊字符,这一点很有用。十六进制编码库名称如下:

_hex_-AD23F4BC

其中,``_hex_-``前缀后面的部分是以UTF-8编码的书库名,每个字节由两个十六进制字符表示。

在 calibre中显示指定的图书

URL语法为:

calibre://show-book/Library_Name/book_id

这将在calibre中显示带有“book_id”(数字)的书籍。 通过将鼠标悬停在“图书详细信息”面板中的“单击打开”链接上,可以在 calibre 界面中看到图书的 ID,它是图书文件夹路径末尾括号中的数字。

您可以通过右键单击“图书详细信息”面板并选择“复制图书链接”来复制 calibre 中显示的当前图书的链接。

如果搜索处于活动状态并且该书籍与搜索不匹配,则搜索将被清除。

如果选择虚拟书库,calibre 将在显示图书时使用它。 如果在该虚拟书库中找不到该书,则该虚拟书库将被清除。

如果您想在展示图书时切换到特定的虚拟书库,请使用:

calibre://show-book/Library_Name/book_id?virtual_library=Library%20Name
or
calibre://show-book/Library_Name/book_id?encoded_virtual_library=hex_encoded_virtual_library_name

将虚拟存储书库名称中的空格替换为``%20``。如果在该虚拟书库中找不到这本书,则忽略该虚拟书库。

在电子书阅读器中的特定位置打开特定图书

URL语法为:

calibre://view-book/Library_Name/book_id/book_format?open_at=location

其中,``book_Format``是图书的格式,例如,``EPUB`或``MOBI`,而``Location``是图书内部的可选位置。获取这些链接的最简单方法是在阅读器中打开一本书,然后在阅读器控件中选择`转到->位置`,此时会给出这样一个链接,您可以将其复制/粘贴到其他地方。

搜索书籍

URL语法为:

calibre://search/Library_Name?q=query
calibre://search/Library_Name?eq=hex_encoded_query

这里的查询是任何有效的”搜索表达式<search_interface>”。如果搜索表达式比较复杂,可以”将其编码为十六进制字符串<hex_encoding>”,并使用``eq``。省略该查询将导致清除当前搜索。

默认情况下,如果选择了虚拟书库,Calibre将在执行搜索之前清除该选项,以确保找到所有图书。如果要保留虚拟书库,请使用:

calibre://search/Library_Name?q=query&virtual_library=_

如果要切换到特定的虚拟书库,请使用:

calibre://search/Library_Name?virtual_library=Library%20Name
or
calibre://search/Library_Name?encoded_virtual_library=hex_encoded_virtual_library_name

将虚拟书库名称中的空格替换为``%20``。

如果您在Calibre中执行搜索,并想为其生成链接,可以通过右键单击搜索栏并选择“将搜索复制为URL”来实现。

在某些书库的图书上打开图书详细信息窗口

URL语法为:

calibre://book-details/Library_Name/book_id

这将打开指定书库中指定图书的书籍详细信息窗口,而不更改当前书库或所选图书。

打开与作者/系列等相关的备注。

URL语法为:

calibre://book-details/Library_Name/Field_Name/id_Item_Id

这将打开一个窗口,显示指定项目的注释。 创建此类 URL 的最简单方法是在 calibre 中显示您想要的注释,然后单击“复制 URL”按钮将 URL 复制到剪贴板并将其粘贴到您需要的任何位置。

这里的“Field_Name”是列的名称,例如“authors”或“tags”。 对于用户创建的列,将字段名称中的前导“#”替换为下划线,因此“#mytags”变为“_mytags”。

除了使用“Item_Id”通过 id 指定项目之外,您还可以使用“val_Item_Name”或“hex_Hex_Encoded_Item_Name”通过名称指定它们。 例如:

calibre://book-details/Library_Name/authors/val_John%20Doe

URL参数的十六进制编码

URL 参数的十六进制编码是通过首先将参数编码为 UTF-8 字节,然后将每个字节替换为表示该字节的两个十六进制字符来完成的。 例如,字符串“abc”是UTF-8中的字节“0x61 0x62和0x63”,因此编码版本是字符串:“616263”。