EBOOK-CONVERT(1)

NAME
ebook-convert - ebook-convert

            ebook-convert input_file output_file [options]

轉換不同格式的電子書。

input_file 表示輸入檔案，output_file 表示輸出檔案。這兩者作為命令行參數必須指定到最前面。

輸出的電子書格式可由 output_file 的副檔名得到。同時 output_file 也可以是一種以 .EXT 為副檔名的特殊格式。在這種情況下，輸出檔案的名稱則使用輸入檔案的名稱。注意：檔案名不能以連字號作為開頭。如果 output_file 不含副檔名，那麼它將被視為一個目錄並將會在該目錄下產生 HTML 格式的「開放式電子書(OEB)」。這些檔案會被視為正常檔案而被輸出外掛所辨識。

在指定輸入和輸出檔案後，您可以自訂特定的轉換選項。根據輸入和輸出檔案的類型不同可用的轉換選項也不同。如需取得針對輸入和輸出檔案的幫助，請在命令行中輸入 -h。

對於轉換系統的完整文件請查閱 電子書轉換 <#conversion>

每当向具有它们自己空间的:command:
`
ebook-convert`传递参数时，用引号括起这些参数。例如: "/some path/with spaces"

選項以及選項的預設值都取決於輸入 和輸出格式，所以您應該經常檢查

ebook-convert myfile.input_format myfile.output_format -h

以下是一些常見轉化的選項，接著 是特定輸入輸出的選項

    •   輸入選項

    •   輸出選項

    •   介面外觀

    •   探索式處理

    •   搜尋與取代

    •   結構偵測

    •   目錄

    •   詮釋資料

    •   除錯

    --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
        指定輸出配置文件. 輸出配置文件可以指示轉換系統如何爲特定的設備對生成的文檔進行優化. 在某些情況下, 輸出配置文件可以對一種特定的設備進行優化輸出, 但這種情況很少使用. 請選擇:cybookg3, cybook_opus, default, hanlinv3, hanlinv5, illiad, ipad, ipad3, irexdr1000, irexdr800, jetbook5, kindle, kindle_dx, kindle_fire, kindle_oasis, kindle_pw, kindle_pw3, kindle_scribe, kindle_voyage, kobo, msreader, mobipocket, nook, nook_color, nook_hd_plus, pocketbook_inkpad3, pocketbook_lux, pocketbook_hd, pocketbook_900, pocketbook_pro_912, galaxy, sony, sony300, sony900, sony-landscape, sonyt3, tablet, generic_eink_hd, generic_eink_large, generic_eink

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

輸入選項

用來控制匯入 mobi 的檔案處理選項

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

輸出選項

用來控制輸出 epub 處理的選項

    --dont-split-on-page-breaks
        關閉按分頁符切割。預設情況下，程式會按分頁符將輸入檔案切分割為多個檔案。由此程式可以使用較少的電腦資源來解析和輸出結果。當然分割操作會增加處理時間，如果輸入檔案含有較多的分頁符，請關閉此功能。

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

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

    --epub-max-image-size
        The maximum image size (width x height). A value of profile means use the screen size from the output profile. A value of none means no maximum size is specified. For example, a value of 100x200 will cause all images to be resized so that their width is no more than 100 pixels and their height is no more than 200 pixels. Note that this only affects the size of the actual image files themselves. Any given image may be rendered at a different size depending on the styling applied to it in the document.

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

    --epub-version
        要產生的 EPUB 檔案版本。EPUB 2 是最具廣泛相容性的，只有在您確實需要的情況下才使用 EPUB 3。

    --extract-to
        Extract the contents of the generated book to the specified folder. The contents of the folder are first deleted, so be careful.

    --flow-size
        將大於該大小 (以 KB 為單位) 的 HTML 檔案分割。由於很多 EPUB 閱讀器無法開啟巨大的檔案，故此功能十分有用。預設值 260KB 是 Adobe Digital Editions 的檔案大小要求。設定為 0 來停用大小為基準的分割。

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

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

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

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

    --toc-title
        Title for any generated inline table of contents.

介面外觀

用來控制介面外觀輸出之選項

    --asciiize
        Transliterate Unicode characters to an ASCII representation. Use with care because this will replace Unicode characters with ASCII. For instance it will replace "Pelé" with "Pele". Also, note that in cases where there are multiple representations of a character (characters shared by Chinese and Japanese for instance) the representation based on the current calibre interface language will be used.

    --base-font-size
        PTS中的基本字型大小。在產生的書籍中所有的字型尺寸將基於這個大小重新縮放。透過選擇更大的尺寸，可以使輸出中的字型更大，反之亦然。預設情況下，當值為0時，根據您選擇的輸出設定檔案選擇基本字型大小。

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

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

    --embed-all-fonts
        嵌入輸入文件中引用到但未嵌入的字型。軟體會在您的系統中尋找這些字型，找到了就嵌入。字型嵌入只有當您的目的格式支援才有用，例如 EPUB、AZW3、DOCX 和 PDF。請保證您擁有在文件中嵌入字型的合適授權。

    --embed-font-family
        在書中嵌入指定字型。這指定了書中使用的「基礎」字型。如果輸入檔案自己指定了字型，就有可能覆蓋這個基礎字型。您可以使用過濾樣式資訊的選項來去除輸入檔案的字型。注意，字型嵌入只在一些輸出格式中有用，主要是 EPUB、AZW3 和 DOCX。

    --expand-css
        預設情況下，calibre 將使用各種CSS屬性的簡寫形式，如邊距、填充、邊框等。此選項將使用完整的展開形式。注意，在產生EPUB檔案時，由於Nook不能處理速記CSS，所以將輸出設定檔案設定為Nook設定檔案中的一個，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
        Preserve ligatures present in the input document. A ligature is a combined character of a pair of characters like ff, fi, fl et cetera. Most readers do not have support for ligatures in their default fonts, so they are unlikely to render correctly. By default, calibre will turn a ligature into the corresponding pair of normal characters. Note that ligatures here mean only unicode ligatures not ligatures created via CSS or font styles. This option will preserve them instead.

    --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
        包含轉換本書中 CSS 樣式規則的檔案路徑。建立這樣一個檔案的最簡單方法是在 calibre GUI 中使用精靈建立規則。在「介面外觀 -> 轉換風格」的轉換對話框部分存取它。 一旦建立規則，就可以使用「匯出」按鈕將它們儲存到檔案中。

    --transform-html-rules
        包含轉換本書中的HTML的規則的檔案的路徑。建立這樣一個檔案的最簡單方法是在 calibre圖形使用者介面中使用嚮導建立規則。在「外觀->轉換HTML」的轉換對話框部分存取它。一旦建立規則，就可以使用「匯出」按鈕將它們儲存到檔案中。

    --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
        包含搜尋和取代正規表達式的檔案路徑。該檔案必須包含正規表達式交替行後面跟著取代模式 (它可以是一個空行)。正規表達式必須是 Python 正規表達式的語法並且檔案必須是 UTF-8 編碼。

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

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

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

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

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

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

結構偵測

控制文件結構的自動偵測。

    --add-alt-text-to-img
        When an <img> tag has no alt attribute, check the associated image file for metadata that specifies alternate text, and use it to fill in the alt attribute. The alt attribute improves accessibility by providing text descriptions for users who cannot see or fully interpret visual content.

    --chapter
        XPath 運算式用於偵測章節標題。預設考慮使用 <h1> 或 <h2> 標籤來涵括「章節」，「書籍」，「節選」，「前言」，「結束語」，或者使用任何標籤包含級別 =「章節」的「部分」做為章節標題。使用的運算式必須評估元素列表。要停用偵測章節，請使用運算式「/」。請參閱 calibre 使用者手冊中的 XPath 教學瞭解使用此功能的更多幫助。

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

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

    --insert-metadata
        將書籍詮釋資料加入到書籍的開始處。如果您的電子書閱讀裝置不支援顯示和搜尋詮釋資料功能，該功能可以有所幫助。

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

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

    --remove-first-image
        移除輸入電子書的第一張圖片。當輸入文件已有封面圖片但不想將它當作封面時很有用。在這個情況下，如果您在 calibre 中設定了封面，而您沒有指定這個選項，輸出的文件最後會有兩張封面。

    --start-reading-at
        用於偵測文件中開始閱讀位置的 XPath 運算式。某些電子書閱讀器 (以 Kindle 為代表) 使用此定位標識來開啟書籍。請參閱 calibre 使用者手冊中的 XPath 教學了解使用此功能的更多幫助。

目錄

控制目錄頁的自動產生過程。預設情況下，如果來源檔案有目錄頁，它會優先使用而不自動產生。

    --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
        設定發佈日期 (假定在本地時區，除非明確指定時區)

    --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
        詳細程度。指定多次來提高詳細程度：指定兩次是最詳細，一次是中等，零次是最簡略。

Author
Kovid Goyal

Copyright
Kovid Goyal