Arch manual pages

EBOOK-CONVERT(1) calibre EBOOK-CONVERT(1)

ebook-convert - ebook-convert

ebook-convert input_file output_file [options]


Convert an e-book from one format to another.

input_file is the input and output_file is the output. Both must be specified as the first two arguments to the command.

The output e-book format is guessed from the file extension of output_file. output_file can also be of the special format .EXT where EXT is the output file extension. In this case, the name of the output file is derived from the name of the input file. Note that the filenames must not start with a hyphen. Finally, if output_file has no extension, then it is treated as a directory and an "open e-book" (OEB) consisting of HTML files is written to that directory. These files are the files that would normally have been passed to the output plugin.

After specifying the input and output file you can customize the conversion by specifying various options. The available options depend on the input and output file types. To get help on them specify the input and output file and then use the -h option.

For full documentation of the conversion system see conversion

Whenever you pass arguments to ebook-convert that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces"

The options and default values for the options change depending on both the input and output formats, so you should always check with:

ebook-convert myfile.input_format myfile.output_format -h



Below are the options that are common to all conversion, followed by the options specific to every input and output format.

  • 輸入選項
  • 輸出選項
  • 介面外觀
  • 探索式處理
  • 搜尋與取代
  • 結構偵測
  • 目錄
  • 詮釋資料
  • 除錯

--help, -h
顯示說明訊息並退出

--input-profile
指定輸入設定檔。輸入設定檔會提供轉換系統關於如何轉譯輸入檔案中各類資訊的方式。例如關係解析度的長度(以像素計的長度)。選擇有:cybookg3, cybook_opus, default, hanlinv3, hanlinv5, illiad, irexdr1000, irexdr800, kindle, msreader, mobipocket, nook, sony, sony300, sony900

--list-recipes
列出內建食譜名稱。您可以從內建食譜建立電子書,就像:ebook-convert "Recipe Name.recipe" output.epub

--output-profile
Specify the output profile. The output profile tells the conversion system how to optimize the created document for the specified device (such as by resizing images for the device screen size). In some cases, an output profile can be used to optimize the output for a particular device, but this is rarely necessary. Choices are: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

--version
顯示程式版本編號並退出

用來控制匯入 mobi 的檔案處理選項
--input-encoding
指定輸入文件的字元編碼。如果設定這個選項就會覆蓋任何由文件本身宣告的編碼。尤其當文件沒有宣告任何編碼或文件所宣告的編碼有誤時會很有幫助。

用來控制輸出 epub 處理的選項
--dont-split-on-page-breaks
Turn off splitting at page breaks. Normally, input files are automatically split at every page break into two files. This gives an output e-book that can be parsed faster and with less resources. However, splitting is slow and if your source file contains a very large number of page breaks, you should turn off splitting on page breaks.

--epub-flatten
這個選項只有在您想把 EPUB 檔案用在 FBReaderJ 上時才需要。它會將 EPUB 內的檔案系統扁平化,將所有的檔案放在最上層。

--epub-inline-toc
插入行內目錄,會成為主要書本內容的一部分。

--epub-toc-at-end
將插入的行內目錄放置在書本結尾而非開頭。

--epub-version
The version of the EPUB file to generate. EPUB 2 is the most widely compatible, only use EPUB 3 if you know you actually need it.

--extract-to
將產生 EPUB 檔案的內容解壓縮到指定資料夾,請注意該資料夾會先被清空。

--flow-size
Split all HTML files larger than this size (in KB). This is necessary as most EPUB readers cannot handle large file sizes. The default of 260KB is the size required for Adobe Digital Editions. Set to 0 to disable size based splitting.

--no-default-epub-cover
通常如果匯入的檔案沒有封面,您也未指定,將會產生一個帶有標題、作者等資訊的預設封面。核取這個選項可以停用產生預設封面。

--no-svg-cover
不使用 SVG 做為書本封面。這個選項是用在您的 EPUB 要用在不支援 SVG 的裝置上時,像是 iPhone 或 JetBook Lite。沒有這個選項,在前述裝置上會以空白頁面來顯示封面。

--preserve-cover-aspect-ratio
當使用 SVG 封面時,該選項會導致封面平鋪滿有效的屏幕區字段,但仍會保持它的縱寬比(寬度和高度的比例)。意思就是說,這可能會在圖像頂邊或底邊處產生空白邊界,但是圖像本身不會被扭曲變形。不選該選項的話,圖像可能會產生輕微的扭曲變形,但優點是不會出現空白邊界。

--pretty-print
如果開啟本選項,輸出外掛將盡量輸出人類可讀的內容。這個選項對於一些輸出外掛可能不起作用。

--toc-title
用於任何產生的行內目錄頁的標題。

用來控制介面外觀輸出之選項
--asciiize
把 Unicode 字元轉換為 ASCII 表達型式。請謹慎使用這個功能,因為它會把所有的 Unicode 字元取代為 ASCII 字元。比如:它會把 "Михаил Горбачёв" 取代為 "Mikhail Gorbachiov"。並且當一個字元可能有多種表示方式時(比如中文和日文中一些共用的字元), calibre 會根據當前設定的介面語言類型決定如何去轉換這類字元。

--base-font-size
The base font size in pts. All font sizes in the produced book will be rescaled based on this size. By choosing a larger size you can make the fonts in the output bigger and vice versa. By default, when the value is zero, the base font size is chosen based on the output profile you chose.

--change-justification
更改文本對齊方式。 使用值"left" 將轉換資源中所有的文本為左對齊。 (如:未對齊) 使用值"justify" 將轉換資源中所有的未對齊的文本為對齊。使用值"original"(預設)則不更改源檔案的對齊方式。請注意,僅部分輸出格式支持對齊方式。

--disable-font-rescaling
關閉字體縮放功能。

--embed-all-fonts
Embed every font that is referenced in the input document but not already embedded. This will search your system for the fonts, and if found, they will be embedded. Embedding will only work if the format you are converting to supports embedded fonts, such as EPUB, AZW3, DOCX or PDF. Please ensure that you have the proper license for embedding the fonts used in this document.

--embed-font-family
Embed the specified font family into the book. This specifies the "base" font used for the book. If the input document specifies its own fonts, they may override this base font. You can use the filter style information option to remove fonts from the input document. Note that font embedding only works with some output formats, principally EPUB, AZW3 and DOCX.

--expand-css
By default, calibre will use the shorthand form for various CSS properties such as margin, padding, border, etc. This option will cause it to use the full expanded form instead. Note that CSS is always expanded when generating EPUB files with the output profile set to one of the Nook profiles as the Nook cannot handle shorthand CSS.

--extra-css
CSS 樣式表或原生 CSS 的路徑。這個 CSS 會添加到來源檔案的樣式規則中,因此可以用來覆蓋那些規則。

--filter-css
以逗號分隔的 CSS 屬性列表,將移除所有 CSS 樣式規則。這是非常有用的,如果存在的一些樣式信息,防止覆蓋您的的設備上的樣式信息。例如:字體系列,顏色,左邊距,右邊距

--font-size-mapping
將 CSS 字型名稱映射到字型大小(以 pts 計)。舉例來說您可以設為 12,12,14,16,18,20,22,24。這些設定值的對應會從 xx-small 到 xx-large,最後一個大小就會是最大的字型。字型縮放演算法會使用這些大小來適當的縮放字型。預設使用的映射方式是以您所選擇的輸出設定檔為準。

--insert-blank-line
在章節之間插入空行. 如果來源檔案不使用章節標記 (<p> 或 <div> 標記) 本選項將不起作用。

--insert-blank-line-size
設定插入的空白列高度 (以 em 計)。在段落之間的高度會是這裡設定的兩倍。

--keep-ligatures
保留輸入文件中的「印刷連字」。所謂「印刷連字」是指對於ff, fi, fl之類的字母組合的一種特殊的展示方式。大部分閱讀器在使用預設字體時無法支持「印刷連字」,所以常常無法正常顯示。預設情況下,calibre會把「印刷連字」轉換成對應的字母組合。本選項用於選擇保留「印刷連字」。

--line-height
pt 行高。控制兩行高度距離。僅僅適用於未定義行高的元素。大多數情況下,最小行高值更加有用。預設不進行行高操控。

--linearize-tables
有些設計不良的檔案會使用表格來控制頁面文字的排版。在轉換這些檔案時常會發生文字超出頁面的問題。這個選項會將表格的內容讀取出來,並重新以直線的方式呈現它。

--margin-bottom
Set the bottom margin in pts. Default is 5.0. Setting this to less than zero will cause no margin to be set (the margin setting in the original document will be preserved). Note: Page oriented formats such as PDF and DOCX have their own margin settings that take precedence.

--margin-left
Set the left margin in pts. Default is 5.0. Setting this to less than zero will cause no margin to be set (the margin setting in the original document will be preserved). Note: Page oriented formats such as PDF and DOCX have their own margin settings that take precedence.

--margin-right
Set the right margin in pts. Default is 5.0. Setting this to less than zero will cause no margin to be set (the margin setting in the original document will be preserved). Note: Page oriented formats such as PDF and DOCX have their own margin settings that take precedence.

--margin-top
Set the top margin in pts. Default is 5.0. Setting this to less than zero will cause no margin to be set (the margin setting in the original document will be preserved). Note: Page oriented formats such as PDF and DOCX have their own margin settings that take precedence.

--minimum-line-height
最小行高,元素字體計算值的百分比。calibre 將保證行中所有元素至少有此高度,無論輸入文件如何定義。設為零即禁用。預設 120%。首選項中也有此設定,請注意。否則可能出現雙倍行高,達 240%。

--remove-paragraph-spacing
移除段落之間的空行. 同時設定段落縮進為1.5em. 如果源檔案不使用段落標記 (<p>或者<div>標籤)程序將不執行段落空行移除.

--remove-paragraph-spacing-indent-size
當 calibre 移除段落間的空白列時,它會自動設定段落縮排,以確保能容易的辨別段落。這個選項控制了縮排的寬度 (以 em 計)。如果您將這個數值設定為負值,則會使用輸入檔案中所指定的縮排,亦即,calibre 不會改變檔案的縮排。

--smarten-punctuation
Convert plain quotes, dashes and ellipsis to their typographically correct equivalents. For details, see https://daringfireball.net/projects/smartypants

--subset-embedded-fonts
嵌入所有字體中用到的字。每種嵌入字體縮減到只包含文件中用到的字型。這能減小字體檔案的體積。在嵌入某個特別大的,包含大量未使用字的字體時有用(如中文)。

--transform-css-rules
Path to a file containing rules to transform the CSS styles in this book. The easiest way to create such a file is to use the wizard for creating rules in the calibre GUI. Access it in the "Look & feel->Transform styles" section of the conversion dialog. Once you create the rules, you can use the "Export" button to save them to a file.

--unsmarten-punctuation
轉換各種形式的引號、破折號和省略號到它們的標準形式。

使用一般樣式修改文件文字與結構。預設為停用。使用 --enable-heuristics 啟用。個別動作可以 --disable-* 選項停用。
--disable-dehyphenate
分析整份檔案的連字符。會使用檔案本身做為字典以便判斷連字符應該保留或刪除。

--disable-delete-blank-paragraphs
當每個段落之間存在空白段落時將它們從檔案中移除

--disable-fix-indents
將以多個不中斷空白字元組成的縮排轉換為 CSS 縮排。

--disable-format-scene-breaks
對齊左對齊的小節分節符。把多個空白行表示小節分節符取代為水平橫線。

--disable-italicize-common-cases
尋找代表斜體的一般文字和圖案並將它們斜體化。

--disable-markup-chapter-headings
檢測未格式化的章節標題和子標題。把它們從二級標題 (<h2>) 標籤轉換為三級標題 (<h3>) 標籤。這個選項不會創建目錄,但可以與文件結構檢測功能一起使用並創建目錄。

--disable-renumber-headings
查找順次出現的<h1>或<h2>標籤。這些標籤被重新編號以防止在章節頭部中間斷開。

--disable-unwrap-lines
決定某行是否為段落內的換行時,使用標點符號和其它格式做為線索。

--enable-heuristics
啟用探索式處理。在需要使用任何探索式處理選項時都必須先啟用這個選項。

--html-unwrap-factor
決定一行字元是否能成為一個新的段落的因子,有效值為 0 到 1 之間的小數,預設值是 0.4,即略小於半行的長度。如果文件中只有很少的行需要消除段落內換行,應當減小這個設定值。

--replace-scene-breaks
把小節分節符取代為指定的文字。在預設情況下,會使用輸入檔案中的文字。

以使用者定義的形式修改文件文字與結構。
--search-replace
Path to a file containing search and replace regular expressions. The file must contain alternating lines of regular expression followed by replacement pattern (which can be an empty line). The regular expression must be in the Python regex syntax and the file must be UTF-8 encoded.

--sr1-replace
用來取代以 sr1-search 找到的文字。

--sr1-search
要以 sr1-replace 取代的搜尋模式 ( 規則運算式 )。

--sr2-replace
用來取代以 sr2-search 找到的文字。

--sr2-search
要以 sr2-replace 取代的搜尋模式 ( 規則運算式 )。

--sr3-replace
用來取代以 sr3-search 找到的文字。

--sr3-search
要以 sr3-replace 取代的搜尋模式 ( 規則運算式 )。

控制文件結構的自動偵測。
--chapter
An XPath expression to detect chapter titles. The default is to consider <h1> or <h2> tags that contain the words "chapter", "book", "section", "prologue", "epilogue" or "part" as chapter titles as well as any tags that have class="chapter". The expression used must evaluate to a list of elements. To disable chapter detection, use the expression "/". See the XPath Tutorial in the calibre User Manual for further help on using this feature.

--chapter-mark
指定如何標記偵測到的章節。「pagebreak」(分頁)會在每個章節前插入分頁符號。「rule」(水平線)會在每個章節前插入水平線。「none」(沒有)會停用章節的標記。「both」(兩者)則會同時加入分頁符號及水平線來標記章節。

--disable-remove-fake-margins
有些文件通過在每一頁上指定左右頁邊距來指定頁面邊框大小。 Calibre 會嘗試檢測並移除這些頁邊距。有時候 Calibre 會錯誤的移除不應該移除的頁邊距,在這種情況下,您可以禁用這項功能。

--insert-metadata
Insert the book metadata at the start of the book. This is useful if your e-book reader does not support displaying/searching metadata directly.

--page-breaks-before
XPath 運算式。換頁符號要插入在指定元素之前。要停用則使用運算式:/

--prefer-metadata-cover
使用從來源檔案中檢測到的封面檔案.

--remove-first-image
Remove the first image from the input e-book. Useful if the input document has a cover image that is not identified as a cover. In this case, if you set a cover in calibre, the output document will end up with two cover images if you do not specify this option.

--start-reading-at
An XPath expression to detect the location in the document at which to start reading. Some e-book reading programs (most prominently the Kindle) use this location as the position at which to open the book. See the XPath tutorial in the calibre User Manual for further help using this feature.

控制目錄頁的自動產生過程。預設情況下,如果來源檔案有目錄頁,它會優先使用而不自動產生。
--duplicate-links-in-toc
在基於輸入文件中的鏈接創建目錄時,允許創建重復項。即在目錄中允許出現名稱重復的項,但它們指向文件中不同的位置。

--level1-toc
指定應添加到目錄級別1的所有標籤的 XPath 表達式。如果指定此項,它會優先於其他自動檢測形式。可查閱 calibre 使用者手冊中的 XPath 向導。

--level2-toc
XPath 運算式指定所有標籤應添加在二級目錄表。每個條目加入到一級目錄條目下。請參閱 calibre 使用者手冊中 XPath 教學的例子。

--level3-toc
XPath 運算式指定所有標籤應添加在三級目錄表。每個條目加入到二級目錄條目下。請參閱 calibre 使用者手冊中 XPath 教學的例子。

--max-toc-links
插入目錄頁的連結最大數量。設定為 0 代表停用。預設值:50。只有在偵測到的章節數目少於這個臨界值時才會把連結加入目錄頁中。

--no-chapters-in-toc
不將自動偵測到的章節增加到檔案目錄。

--toc-filter
將標題符合指定規則運算式的項目自目錄頁中移除。符合的項目以及它們的子項目都會一起被移除。

--toc-threshold
如果偵測到的章節少於這個數目,就會把連結加到目錄頁中。預設值:6

--use-auto-toc
一般而言,如果來源檔案已經有目錄,它會被優先用於自動產生的目錄中。使用這個選項,則會強制使用自動產生的目錄。

設定輸出的詮釋資料選項
--author-sort
當以作者來排序會用這個字串來排序.

--authors
設定作者。多個作者應以半形&分隔。

--book-producer
設定書本的出版商。

--comments
設定電子書本描述。

--cover
設定封面為指定的檔案或 URL

--isbn
設定這本書的 ISBN。

--language
設定語言。

--pubdate
Set the publication date (assumed to be in the local timezone, unless the timezone is explicitly specified)

--publisher
設定電子書本出版商。

--rating
設定評等。應該為從 1 到 5 的數字。

--read-metadata-from-opf, --from-opf, -m
從指定的 OPF 檔案讀取詮釋資料。從這個檔案讀取的詮釋資料將會覆蓋原始檔案中的所有詮釋資料。

--series
設定這個電子書所屬的系列。

--series-index
這個書本在系列裡的索引。

--tags
設定書本的標籤。多個標籤之間請用逗號隔開。

--timestamp
設定書本時刻戳記 (已不在任何地方使用)

--title
設定書名。

--title-sort
用來排序的書名版本。

轉換至偵錯模式的相關選項
--debug-pipeline, -d
將轉換過程管線的各個階段的輸出儲存到指定的目錄。如果您不確定轉換程序的哪個階段發生錯誤時會很有幫助。

--verbose, -v
Level of verbosity. Specify multiple times for greater verbosity. Specifying it twice will result in full verbosity, once medium verbosity and zero times least verbosity.

Kovid Goyal

Kovid Goyal
10月 08, 2019 4.1.0