Calibre 常用命令行工具詳解之 ebook-convert

全能型電子書管理軟件 Calibre 除了有可視化操作界面,還附帶了一系列命令行工具(Command Line Interface),這些工具功能獨立且實用。如果你熟悉命令行的使用,並且想要在處理電子書方面提高效率,抑或想要把一些和電子書處理相關的工作自動化,這些工具將會對你很有幫助。本文從 Calibre 提供的這些命令行工具中挑選了常用的 3 款,分別為:ebook-meta、ebook-convert、calibre-smtp,詳細介紹它們如何使用,以及都適用於哪些應用場景。這些內容需要你懂一點點命令行知識。

本文涉及的命令行工具需要在“命令提示符”(Windows 系統)或“終端”(macOS 或 Linux 系統)中使用。如果電腦是 Windows 系統,一般在安裝好 Calibre 之後就可以使用。如果電腦是 macOS 或 Linux 系統,安裝 Calibre 之後需要手動把命令行工具的路徑添加到系統變量中才能直接使用。

二、格式轉換命令:ebook-convert

ebook-convert 可以說是Calibre 最為核心的一個功能,也是小伙伴最常用到的功能,它的作用就是把一本電子書從一種格式轉換成另一種格式,帶界面的Calibre 轉換電子書格式也是通過調用它來實現的。其實命令行下的 ebook-convert 用起來更快捷,佔用資源更小。下面就隨書伴來詳細了解一下吧。

1、基本用法

Calibre 官方文檔給出的 ebook-convert 的指令用法如下:

ebook-convert input_file output_file [options]

轉換格式指令有 2 個必填參數和多個可選項。其中input_file 是輸入文件格式,output_file 是輸出文件格式,[options] 是針對輸入、輸出文件格式的可用選項,在未手動定義可選項的情況下,這些可選項均會採用默認值,默認值會隨著不同輸入輸出格式而變化。後面會對這些可選項做詳細解釋。

ebook-convert 默認支持的輸入文件格式包括:azw4, chm, comic, djvu, docx, epub, fb2, htlz, html, lit, lrf, mobi, odt, pdb, pdf, pml, rb, rtf, recipe, snb , tcr, txt;默認支持的輸出文件格式包括:azw3, docx, epub, fb2, html, htmlz, lit, lrf, mobi, oeb, pdb, pdf, pml, rb, rtf, snb, tcr, txt, txtz 。

ebook-convert 輸出文件的格式是通過指定輸出文件名的後綴確定的。比如你在指令中把輸出文件名指定為 example.azw3,那麼輸出的文件就是 AZW3 格式,指定為 example.mobi 就是 MOBI 格式。

如果輸出文件名沒有指定後綴名,ebook-convert 就會視其為文件夾(不能存在的會自動創建),並將輸入的電子書文件轉換成由HTML 文件組成的Open eBook(OEB)輸出到此文件夾中,這些文件通常會被傳給輸出插件。這種操作很像 KindleUnpack 的功能,能把電子書拆解成源文件。

注意,不論輸入還是輸出,其路徑或文件名均不能以連字符“-”開頭,含有空格的須將其放入引號。

2、轉換示例

假設把文件名為“example.epub”的 ePub 格式電子書轉換成 MOBI 格式,可直接執行以下指令:

ebook-convert example.epub example.mobi
這裡有個小技巧,如果想要讓轉換前後的文件名相同,輸出文件名只需要輸入後綴名即可,如下所示:

ebook-convert example.epub .mobi
除了不同格式之間相互轉換,ebook-convert 還能利用腳本抓取 RSS 或抓取 HTML 頁面製成電子書。書伴之前曾寫過一個 ebook-convert 的用例,即《Calibre 使用教程之抓取網站頁面製成電子書》這篇文章,裡面介紹瞭如何通過編寫的 Recipe 腳本轉制電子書。除了手動編寫腳本,Calibre 還內置了一些現成的腳本,這些內置腳本可以通過 ebook-convert 的一個特殊可選項 –list-recipes 列出,指令如下所示:

ebook-convert –list-recipts
* 注:在 macOS 或 Linux 系統中,為方便在終端中瀏覽較長的列表,可以在指令後面加個參數 | less。

和自己編寫腳本不同得是,這些內置的腳本不需要指定路徑,可以直接被ebook-convert 調用,比如你找到了感興趣的內容源,直接在源名加.recipe 就可以將其轉換成電子書了,指令如下所示:

ebook-convert ‘The Economist.recipe’ ‘The Economist.mobi’
需要注意的是,這些內容源大都來自國外站點,有一些內容源的腳本可能需要科學上網才能正常使用。

3、可用選項

ebook-convert 指令中的 [options],其作用是通過指定不同的可選項來自定義當前的轉換,你可以通過這些預置的可選項更精確地控制輸入輸出。這些可選項有通用可選項,還有針對取決於不同輸入輸出格式的可選項。在執行轉換指令時,可在其後加上一個參數 -h 查看可用選項的詳細解釋,如下所示:

ebook-convert example.txt example.mobi -h
比如當你輸入上面這條指令,就可以看到有關輸入文件格式 TXT 和輸出文件格式 MOBI 相關的可選項及其詳細說明。當然如果你想了解所有可選項的詳細說明,也可以前往 Calibre 官方幫助頁面瀏覽。

為方便查詢,書伴把ebook-convert 的通用可選項(包含:界面外觀、智能處理、查找並替換、結構檢測、目錄、元數據、調試)以及和Kindle 電子書格式轉換相關可選項的詳細解釋羅列如下:

3.1、適配設置:

–input-profile=INPUT_PROFILE
設置輸入配置文件。此配置文件讓程序了解如何解析輸入文件並進行轉換。例如頁面分辨率(i.e. 以像素為單位)。可選項有:cybookg3、cybook_opus、default、hanlinv3、hanlinv5、illiad、irexdr1000、irexdr800、kindle、msreader、mobipocket、nook、sony、sony300、sony900。

–output-profile=OUTPUT_PROFILE
設置輸出配置文件。輸出配置文件可以讓轉換系統針對指定的設備優化文檔(例如通過根據設備屏幕大小縮放圖片)。在某些情況下,可以用輸出配置文件對特定設備優化輸出,但幾乎沒有必要。可選項有:cybookg3、cybook_opus、default、generic_eink、generic_eink_hd、generic_eink_large、hanlinv3、hanlinv5、illiad、ipad、ipad3、irexdr1000、irexdr800、jetbook5、kindle、kindle_dx、kindle_fire、kindle_oasis、kindle_pw、kindle_pw3、kindle_voyage、kobo、msreader、 mobipocket、nook、nook_color、nook_hd_plus、pocketbook_900、pocketbook_pro_912、galaxy、sony、sony300、sony900、sony-landscape、sonyt3、tablet。

以上這些ebook-convert 的可選項的中文解釋均摘自其命令提示符中的幫助文檔,原文檔中未譯成中文的不分由書伴翻譯,可能有不准確的地方,如在閱讀的過程中看到敬請指出。

4、應用場景

靈活使用 ebook-convert 這個命令行工具可以在很多自動化工作中發揮作用,比如使用腳本批量轉換電子書,定時執行腳本抓取新聞並推送到 Kindle 中等。具體如何應用,今後書伴會陸續推出相關文章。

本文標題:《Calibre 常用命令行工具詳解之 ebook-convert》,本文鏈接:http://www.yunjialeguanwang.com/archives/1753.html