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
        Specify the output profile. The output profile tells the conversion system how to optimize the created document for the specified device. 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, 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
        仅在你需要使用 FBReaderJ 阅读 EPUB 文件时使用本选项。启用本选项会消除 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
        设定下边距，单位pts。默认为 5.0。如果设置为负值表示不使用页边距（保留使用原始文档的页边距）。提示：页面原始格式如PDF和docx有自己优先的边距设置。

    --margin-left
        设定左边距，单位pts。默认为 5.0。如果设置为负值表示不使用页边距（保留使用原始文档的页边距）。提示：页面原始格式如PDF和docx有自己优先的边距设置。

    --margin-right
        设置右边距，单位pts，默认为 5.0。如果设置为负值表示不使用页边距（保留使用原始文档的页边距）。提示：页面原始格式如PDF和docx有自己优先的边距设置。

    --margin-top
        设定上边距，单位pts。默认为 5.0。如果设置为负值表示不使用页边距（保留使用原始文档的页边距）。提示：页面原始格式如PDF和docx有自己优先的边距设置。

    --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