Calibre 常用命令行工具详解之 ebook-meta
全能型电子书管理软件 Calibre 除了有可视化操作界面,还附带了一系列命令行工具(Command Line Interface),这些工具功能独立且实用。如果你熟悉命令行的使用,并且想要在处理电子书方面提高效率,抑或想要把一些和电子书处理相关的工作自动化,这些工具将会对你很有帮助。本文从 Calibre 提供的这些命令行工具中挑选了常用的 3 款,分别为:ebook-meta
、ebook-convert
、calibre-smtp
,详细介绍它们如何使用,以及都适用于哪些应用场景。这些内容需要你懂一点点命令行知识。
目录
一、元数据命令:ebook-meta
1、读取电子书元数据
2、写入电子书元数据
二、格式转换命令:ebook-convert
1、基本用法
2、转换示例
3、可用选项
4、应用场景
三、邮件推送命令:calibre-smtp
1、基本用法
2、转换示例
3、可用选项
4、应用场景
本文涉及的命令行工具需要在“命令提示符”(Windows 系统)或“终端”(macOS 或 Linux 系统)中使用。如果电脑是 Windows 系统,一般在安装好 Calibre 之后就可以使用。如果电脑是 macOS 或 Linux 系统,安装 Calibre 之后需要手动把命令行工具的路径添加到系统变量中才能直接使用。
一、元数据命令:ebook-meta
书伴之前写过的一篇文章《Calibre 使用教程之批量获取电子书元数据》提到过 ebook-meta
这个命令,在那篇文章中主要使用了它的元数据读取功能去批量获取电子书元数据,其实它除了读还能写。
ebook-meta
支持大部分电子书文件元数据的读写。支持读取元数据的文件格式包括:azw, azw1, azw3, azw4, cbr, cbz, chm, docx, epub, fb2, html, htmlz, imp, lit, lrf, lrx, mobi, odt, oebzip, opf, pdb, pdf, pml, pmlz, pobi, prc, rar, rb, rtf, snb, tpz, txt, txtz, updb, zip。支持写入元数据的文件格式包括:azw, azw1, azw3, azw4, docx, epub, fb2, htmlz, lrf, mobi, pdb, pdf, prc, rtf, tpz, txtz。不同的文件格式的元数据类型不同,如果你想要向某个文件类型写入它不支持的元数据,此命令会静默忽略指定的元数据。另外还需要注意,在任何情况下,只要参数(如路径、字符)含有空格,都必须用单引号或双引号包裹住。
1、读取电子书元数据
ebook-meta sample.azw3
读取电子书元数据的指令很简单,只需在 ebook-meta
命令后加上电子书文件的路径回车即可(如果命令当前路径和电子书文件处于同一路径下,可用相对路径),运行成功后可见如下所示元数据信息:
Title : 电子书名
Author(s) : 某某
Publisher : 某某出版社
Languages : zho
Published : 2009-07-30T16:00:00+00:00
Identifiers : mobi-asin:XXXXXXXXXX
假设有一本电子书,无法通过文件名得知其真实信息,就可以使用此命令读取电子书的元数据,查看它的书名、作者和出版社是什么。当然也可以利用它做更多事情,比如文章《Calibre 使用教程之批量获取电子书元数据》就利用此命令获取多本电子书的元数据,用来整理电子书和判断它们是否被修改过。
网友们分享在网络上的一些电子书文件,并不能从格式上判断是否来源于亚马逊 Kindle 商店,比如亚马逊官方的电子书格式是 azw3,但是 Calibre 也能把电子书转换成 azw3 格式,这时我们可以从元数据中审查,由于亚马逊官方提供的电子书元数据中不会含有“Calibre”字样的,所以一旦发现元数据中出现“Calibre”字样,就说明这本书至少是用 Calibre 修改过。这种被修改的电子书可能和原有内容排版有差别,更甚者,电子书的正文内容可能被利用电子书资源牟利者插入了广告信息,影响阅读体验。
2、写入电子书元数据
ebook-meta --title "乔布斯传" sample.azw3
相比读取电子书元数据,写入元数据的指令多了一些可选项。如上面所示的这条指令,其含义是,把 sample.azw3 这本电子书元数据中的标题更改为“乔布斯传”。和读取指令不同的是,这条指令在 ebook-meta
和电子书文件路径之间加了一个可修改电子书标题的可选项 --title
其后跟着一个参数指定了书名。当然除了修改标题之外,还有其它一些可用的可选项,比如作者、出版社、分类、标签等,想要详细了解这些可选项的用法,只需要直接输入 ebook-meta
回车就可以出现。书伴把可用的可选项罗列如下:
[可选项]
--title
或 -t
设置标题。
--title-sort
用以进行标题排序的版本值。如果该参数未指定,同时标题字段为非空,该关键字符串将由标题字段自动生成。
--authors
或 -a
设置作者。请用 & 字符隔开多个作者. 作者的名称按一下顺序书写 名称 姓氏。
--author-sort
用以进行作者排序的关键字符串。如果该参数未指定,同时作者字段为非空,该关键字符串将由作者字段自动生成。
--cover
使用指定文件作为封面。
--get-cover
从电子书中读取封面图片并将其保存到指定文件(注:命令后要跟带指定文件名的路径,而非路径)。
--comments
或 -c
设置书籍简介。
--identifier
设置书籍的标识符,可以指定多次。例如:--identifier uri:http://acme.com --identifier isbn:12345
要移除一个标识符,指定空值,像 --identifier isbn:
。注意对于 EPUB 文件,无法移除被标记为包标识符的标识符。
--isbn
设置书籍的 ISBN。
--publisher
或 -p
设置书籍出版商。
--book-producer
或 -k
设置书籍制作人。
--category
设置书籍分类。
--tags
设置书籍的标签。多个标签之间请用逗号隔开。
--series
或 -s
设置书籍从属的系列。
--language
或 -l
设置书籍语言。
--date
或 -d
设定出版日期。
--index
或 -i
设置书籍在丛书中的索引位置。
--rating
或 -r
设置评分。评荐值为 1 到 5 之间的数字。
--to-opf
指定 OPF 文件名。元数据会被写入 OPF 文件。
--from-opf
从指定的 OPF 文件中读取元数据信息并将其写入到电子书中。如果命令行中有其它指定的元数据,将会覆盖 OPF 文件中读取的元数据。
--lrf-bookid
设置 LRF 文件的 BookID。
--help
或 -h
显示此命令的帮助信息(注:等同直接输入 ebook-meta
命令回车)。
--version
显示程序版本号并退出。
以上这些可选项都是可以在同一条指令中使用的,次序不分先后。比如想要修改某电子书书名的同时修改作者名,可在指令中同时加入两个可选项:ebook-meta -t "书名" -a "作者名" sample.azw3
。另外,不同的文件格式所适用的元数据不尽相同,如果你尝试设置的元数据在某个文件格式上没生效,可能意味着该文件格式不支持此种元数据,ebook-meta 命令则会静默忽略。
关于用 Calibre 修改电子书元数据,曾有小伙伴问过书伴,为什么通过 Calibre 的右键菜单修改电子书的元数据后不生效?这是因为在 Calibre 中修改电子书的元数据后,必须转换一下格式才能把新的元数据写入进去,而使用 ebook-meta
命令向电子书写入元数据则可省掉转换这个步骤,即刻生效。
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/605.html
“Calibre教程”相关阅读
- 如何修复用 Calibre 通过 USB 导入 Kindle 的电子书封面
- Calibre 使用教程之抓取 RSS 制成电子书
- Calibre使用教程之为电子书添加或修改封面
- 把 TXT 文档转换成带目录的 MOBI 格式电子书
- 解决依赖内嵌字体才能正常显示的电子书乱码问题
- 用 GitHub Actions 让 Calibre 定时推送新闻到 Kindle
- Calibre 使用教程之抓取网站页面制成电子书
- Calibre 使用教程之转换电子书格式
- 解决 Calibre 推送“500 Error: bad syntax”错误
- Calibre 常用命令行工具详解之 ebook-convert
- Calibre 使用教程之为电子书添加更换字体
- 英文电子书使用字典查词时选中整段的解决方法
- Calibre 使用教程之通过 WiFi 向 Kindle 传输电子书
- Calibre 使用教程之为 Kindle 电子书添加页码
- Calibre 使用教程之把合集电子书拆分成单本
多个作者可以使用&,多个出版社呢?
ebook-meta –cover
测试更换封面图片
封面图片是更新了,但是像素低、很模糊……
效果同:Calibre“编辑元数据”(更换封面→确定)、电子书直接保存到磁盘(不转格式)
请问,站长,有解决方案么?谢谢!
老哥请教一下:
有一些书,通过calibre修改了元数据中的作者名,但是通过数据线导入kindle后,作者名还是原来的作者名,并没有变化,请问这个是什么情况,该怎么处理呢?感谢
我也發現了這個問題,提示變更後,在kindle previewer3中的“電子書信息”一欄中查看元數據,依然顯示為原來的那個……無語了,折騰了半天
请问有没有办法让一个系列的书显示为一项?
一套书,合并起来单文件实在太大,分散保存又很占视野,一搜索一大堆。比如知乎那一大堆小书,单独保存能有几百个。
如果能默认只显示为一项,双击再展开就好了。有方法实现吗?
对于这个需求,推荐使用“收藏夹”功能来组织分散的电子书文件。如何使用“收藏夹”可以查看《如何适应用“收藏夹”管理 Kindle 电子书的方式》这篇文章。如果感觉在 Kindle 设备上操作不方便,也可以参考《亚马逊已支持在云端批量管理 Kindle 收藏夹》这篇文章,在亚马逊后台批量处理。
您好,我电脑重新安装的win10系统,calibre软件安装以后启动不起来,点击用管理员身份运行也不行,请问怎么解决?
有具体的提示吗?另外检查一下 Calibre 安装路径,确保路径上没有中文字符。
没有具体提示,怎么点都启动不起来。我换了安装路径,C盘D盘都不行。
您好,请教您一下,我用nas安装calibre之后没有出现设置页面直接就是首页
然后点击右上角登录 就直接显示是 默认用户
所以想请教您 如何设置管理员帐号
感谢感谢