Calibre 使用教程之为 Kindle 电子书添加页码
在书伴发布《如何理解 Kindle 电子书的“位置号”和“页码”》这篇文章后,昵称为 ZJG 的小伙伴在微信公众号中留言指出 Calibre 是支持为 kindle 电子书添加“页码”的,并将具体的实现方法投稿给了书伴,在此感谢这位小伙伴的分享。书伴对此方法做了整理和补充,并对其中需要注意的事项做了说明。
一、添加页码的步骤
Calibre 为 Kindle 电子式添加页码的方式,不是通过转换格式实现的,而是通过在传输电子书的过程中附加页码元数据实现的。用 Calibre 为电子书添加页码的操作步骤很简单,只需要用 USB 数据线把 Kindle 连接至电脑,然后选定 Calibre 书库中你要阅读的电子书,通过 Calibre 的工具栏中的“发送到设备”图标按钮(也可以通过右键菜单中的“发送到设备”项)将其传送到 Kindle 设备就可以了。
那页码元数据存放在哪儿呢?打开 Kindle 磁盘中的 documents 文件夹,打开和电子书同名的 sdr 文件夹,可以看到一个后缀名为 apnx 的文件,这就是 Calibre 为电子书生成的页码元数据文件。
二、添加页码的说明
可能会有小伙伴们会问,那 Calibre 为电子书生成的页码能和纸质书的页码对应起来吗?答案是不能。之前书伴曾说过,到目前为止 Kindle 商店中的电子书无法全部支持“书内页码”,原因就是想要把电子书和纸质书的页码匹配起来需要一些额外的工作,而这些工作想必也不会太顺畅。亚马逊想要把纸质书页码和电子书页码之间的映射制成元数据,除了成本的考量,还有和出版商之间的协作等诸多不可控环节。
显然 Calibre 并没有神力能够无中生有的把纸质书页码和电子书页码映射起来,那它是怎么实现的呢?
三、添加页码的原理
在 Calibre 的工具栏中找到“设备”图标按钮,点击旁边的倒三角,在弹出的菜单中点击“配置该设备”,可以弹出一个名为“配置 Amazon Kindle”的对话框。在此对话框中你可以找到“发送书籍时发送页码信息”这个选项(默认勾选),此选项表示使用 Calibre 把电子书发送到 Kindle 设备时附加页码元数据。
Calibre 解释说 Kindle3 以及更新版本的 Kindle 设备可以读取 MOBI 格式电子书的页码信息,使用此选项 Calibre 能够在用 USB 传输 MOBI 文件的同时计算电子书的页码,并将页码信息(即后缀名为 apnx 的页码元数据文件)发送到 Kindle 中。也特别强调了,生成的页码信息并不与任何纸质书籍对应。
这个选项下方有一个下列表,列表中有 accurate(精确)、fast(快速)和 pagebreak(分页符)这三个可选参数。当把鼠标指针悬浮到选择框上稍停片刻,就可以看到对这三个选项的详细解释:
- accurate:基于电子书中的章节、段落数目和可视线。此方法是以模拟纸质书每页 23 行,以及每行不超过 70 个字符来设计的。
- fast:每一页含有 2300 个未压缩的字符。此为默认项。
- pagebreak:基于电子书中已存在的
<mbp:pagebreak>
标签来确定页码。
以上三种方法,除了 fast 其它方法都会非常慢,因为 fast 只需要单纯的计算字符个数就可以了,而另外两个则多了一些额外的计算,比如 pagebreak 需要计算分页符个数,accurate 需要计算行数甚至每行的字符数。另外,如果 pagebreak 不能确定页码会自动使用 accurate,accurate 也失败后会使用 fast。
除了这三个默认可选项外,下拉列表下方还有还有两个可输入选项,分别是“自定义获取页数的列名”和“自定义获取计算方法的列名”,可以在使用第三方插件如 Count Pages 生成的数据时使用。
四、添加页码的意义
由此可见 Calibre 为电子书生成的页码,不论是计算章节段落还是计算字符数,都是通过私有算法实现的,而这种无法和纸质书映射的页码其实是没有实际意义的,也仅能私用吧。此方法无法真正解决电子书和纸质书页码相匹配的需求,真正的页码匹配仍然需要亚马逊官方为电子书提供页码支持。
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/650.html
“Calibre教程”相关阅读
- Calibre 使用教程之转换电子书格式
- Calibre 常用命令行工具详解之 ebook-meta
- Calibre 常用命令行工具详解之 calibre-smtp
- Calibre 转换 TXT 文件出现 Errno 21 错误的解决方法
- Calibre 使用教程之为电子书添加更换字体
- Calibre 使用教程之抓取 RSS 制成电子书
- 解决 Calibre 推送“500 Error: bad syntax”错误
- Calibre 使用教程之批量获取电子书元数据
- 把 TXT 文档转换成带目录的 MOBI 格式电子书
- Calibre 使用教程之通过邮箱一键推送 Kindle 电子书
- 如何将 Calibre 中的电子书拼音书名保存成中文书名
- 如何修复用 Calibre 通过 USB 导入 Kindle 的电子书封面
- 用 GitHub Actions 让 Calibre 定时推送新闻到 Kindle
- Calibre使用教程之为电子书添加或修改封面
- Calibre 常用命令行工具详解之 ebook-convert
站主您好。因为有多台kindle想要设备间同步进度,所以一般会采用邮件的方式传书。导致无法使用该文章的方式解决,自传电子书的页码问题,请问还有别的方法吗
有没有办法让WIFI传书也能拥有页码,比如让calibre生成apnx然后wifi传到documents里?
问什么我发送到设备后有书但sdr文件夹是空的?试了好几个文件都是