EBOOK-CONVERT(1) | calibre | EBOOK-CONVERT(1) |
NAME
ebook-convert - ebook-convert
ebook-convert input_file output_file [options]
转换不同格式的电子书。
input_file 表示输入文件,output_file 表示输出文件。这两者作为命令行参数必须指定到最前面。
输出电子书格式由output_file的文件扩展名推测。output_file也可以是特殊格式.EXT,其中EXT是输出文件扩展名。在这种情况下,输出文件的名称源自输入文件的名称。请注意,文件名不能以连字符开头。如果output_file不含扩展名,那么它将被视为一个文件夹,由HTML文件组成的“开放电子书”(OEB)将被写入该文件夹。 这些文件会被视为正常文件而被输出插件所识别。
在指定输入和输出文件后,你可以自定义特定的转换选项。根据输入和输出文件格式不同可用的转换选项也不同。如需获取针对输入和输出文件的帮助,请在命令行中输入 -h。
对于转换系统的完整文档请查阅 电子书转换
每当您将包含空格的参数传递给%p程序时,请将参数放在引号中。例如: "/some path/with spaces"
选项以及选项的默认值都取决于输入 和输出格式,所以你应该经常检查:
ebook-convert myfile.input_format myfile.output_format -h
以下是一些常见转化的选项,接着 是特定输入输出的选项
- 输入格式选项
- 输出格式选项
- 界面外观
- 智能处理
- 查找与替换
- 结构检测
- 目录
- 元数据
- 调试
- --help, -h
- 显示此帮助信息并退出
- --input-profile
- 设置输入配置。输入配置让程序了解如何解析输入文档并进行转换。例如页面分辨率(i.e. 以像素为单位)。可选项有: 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_large, generic_eink, generic_eink_hd
- --version
- 显示程序版本号并退出
输入格式选项
处理输入 mobi 文件的选项设置
- --input-encoding
- 指定输入文件的字符编码。该设置将覆盖文档声明的字符编码。该设置对于处理未声明字符编码和字符编码声明错误的输入文件十分有用。
输出格式选项
处理输出 epub 的选项设置
- --dont-split-on-page-breaks
- 关闭在分页符处将文件切分为多个的功能. 通常, 会在分页符处将输入文件做切分生成多个文件. 由此可以输出使用资源少、解析快的电子书. 当然切分操作会增加处理时间, 如果输入文件含有较多的分页符, 请关闭此功能.
- --epub-flatten
- 仅当需要使用FBReaderJ阅读EPUB文件时使用本选项。启用本选项会消除EPUB文件中的目录层级,把所有文件放到顶层目录中。
- --epub-inline-toc
- 插入一个内嵌目录,将会作为书籍内容。
- --epub-max-image-size
- 最大图片大小(宽x高)。 值none表示使用输出配置文件中的屏幕大小。值profile 表示不指定最大大小。 例如,值 100x200将调整所有图片的大小,使其宽度不超过 100 个像素,高度不超过 200 个象素。 请注意,这只会影响实际图片文件本身的大小。任何给定的图片都可以根据文档中应用的样式以不同的大小进行渲染。
- --epub-toc-at-end
- 在书籍的末尾插入内嵌目录,而不是书籍开头。
- --epub-version
- 生成的EPUB文件的版本。EPUB 2 是最具广泛兼容性的,只有在必要时才使用 EPUB 3。
- --extract-to
- 将生成的EPUB文件的内容解压到指定文件夹。请注意,该文件夹的内容会被清空。
- --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
- 生成的内嵌到书籍的目录的标题。
界面外观
输出的界面外观选项设置
- --asciiize
- 将Unicode字符转换为ASCII表示形式。请小心使用,因为这将用ASCII替换Unicode字符。例如,它将用“Pele”替换“Pelé”。此外,请注意,如果一个字符有多个表示形式(例如,中文和日语共享的字符),则将基于Calibre界面语言的来确定所用的形式。
- --base-font-size
- 基准字体大小(以PT为单位)。在生成的书籍中所有的字体尺寸将基于这个大小重新缩放。通过选择更大的尺寸,可以使输出中的字体更大,反之亦然。默认情况下,当值为0时,根据你选择的'输出配置'确定基准字体大小。
- --change-justification
- 更改文本对齐方式。 使用值"左对齐" 将转换资源中所有的文本为左对齐。 (如:未对齐) 使用值"justify" 将转换资源中所有的未对齐的文本为居中对齐。使用值"original"(默认)则不更改源文件的对齐方式。请注意,仅部分输出格式支持对齐方式。
- --disable-font-rescaling
- 禁用文字大小缩放功能。
- --embed-all-fonts
- 嵌入输入文档中引用到但未嵌入的字体。软件会在你的系统中查找这些字体,找到了就嵌入。字体嵌入只有当你的目标格式支持时才有用,例如 EPUB、AZW3、DOCX 和 PDF。请保证你拥有在文档中嵌入字体的合适授权。
- --embed-font-family
- 在书籍中嵌入指定的字体。这里指定了书籍中使用的“基础”字体。如果输入文件指定了字体,就有可能覆盖此处的基础字体。你可以使用“过滤样式信息”的选项来删除输入文档中指定的字体。注意,字体内嵌只在一些输出格式中有用,主要是 EPUB、AZW3 和 DOCX。
- --expand-css
- 默认情况下,calibre 将使用各种CSS属性的简写形式,如边距 margin、填充padding、边框border等。此选项将使用完整书写方式。注意,在生成EPUB文件时,由于Nook不能处理简写的CSS,所以将'输出配置'设置为Nook配置中的一个时,CSS总是使用完整书写。
- --extra-css
- CSS 样式表或原始 CSS 文件路径。该 CSS 样式表将会被添加到源文件的样式规则中,它可以用于覆盖那些样式规则。
- --filter-css
- 将从所有CSS样式规则中删除的以逗号分隔的 CSS 属性列表。如果某些样式信息阻碍了阅读器设备中的样式设置,则此选项非常有用。例如:字体、颜色、左边距、右边距
- --font-size-mapping
- 将CSS字体名称映射为以PT为单位的字体大小. 例如您可以将这里的值设为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 会把“连字”转换成对应的一对普通字符。请注意,这里的连字仅指unicode连字,而不是通过CSS或字体样式创建的连字。这个选项将保留这些连字。
- --line-height
- 行高(以PT为单位)。控制连续文本行之间的行高。仅适用于未定义自身行高的内容元素。大多数情况下,最小行高值更加有用。默认不做行高调整。
- --linearize-tables
- 一些布局不佳的源文件使用表格来设置页面布局,可能会导致输出文件中的正文超过页面范围。本选项设定程序将内容从表格中提取出并以线型布局排列输出。
- --margin-bottom
- 设定下边距,单位pt。默认为 5.0。如果设置为负值表示不使用页边距(保留使用原始文档的页边距)。提示:面向页面的格式如PDF和docx有自己优先的边距设置。
- --margin-left
- 设定左边距,单位pt。默认为 5.0。如果设置为负值表示不使用页边距(保留使用原始文档的页边距)。提示:面向页面的格式如PDF和docx有自己优先的边距设置。
- --margin-right
- 设置右边距,单位pt,默认为 5.0。如果设置为负值表示不使用页边距(保留使用原始文档的页边距)。提示:面向页面的格式如PDF和docx有自己优先的边距设置。
- --margin-top
- 设定上边距,单位pt。默认为 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
- 将普通引号、破折号和省略号转换为与它们对应的正确印刷体。有关详情, 请参阅 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
- 当 <img> 标记没有alt属性时,检查相关的图片文件中用作替代文本的元数据,并使用它来充当alt属性。 The alt attribute is used by screen readers for assisting the visually challenged. 当<img>标记没有alt属性时,检查相关的图片文件中用作替代文本的元数据,并使用它来充当alt属性。alt属性用于帮助视觉障碍者阅读。
- --chapter
- 用于检测章节标题的XPath表达式。默认情况下,将包含单词“chapter”、“book”、“section”、“prolog”、“epilogue”或“part”的<h1>或<h2>标签以及任何具有class=“chapter”的标签被视为章节标题。所用表达式的必须使用上述列出的元素。要禁用章节检测,请使用表达式“/”。有关使用此功能的更多帮助,请参阅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
- 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
- 通常情况下,优先使用源文件中已有的目录。打开本选项来强制使用自动生成的目录。
元数据
设定输出的元数据选项
- 用来进行按作者排序的关键字符串。
- 设置作者。多个作者之间请使用 & 符号分隔。
- --book-producer
- 设置书籍制作人。
- --comments
- 设置电子书描述。
- --cover
- 设置封面为指定文件或 URL
- --isbn
- 设置书籍的 ISBN。
- --language
- 设置书籍语言。
- --pubdate
- 设置发布日期(假定在本地时区,除非明确指定时区)
- --publisher
- 设置电子书出版商。
- --rating
- 设置评分。评荐值为 1 到 5 之间的数字。
- --read-metadata-from-opf, --from-opf, -m
- 从指定 OPF 文件中读元数据。读取的元数据将覆盖源文件中定义的其他元数据。
- --series
- 设置书籍所属丛书。
- --series-index
- 设置丛书中的书籍索引。
- 设置书籍的标签。多个标签之间请用逗号隔开。
- --timestamp
- 设置书籍创建日期(已不再使用)
- --title
- 设置书名。
- --title-sort
- 用来排序的书名版本。
调试
用于调试转换的选项
- --debug-pipeline, -d
- 将转换传输途径不同阶段的输出保存到指定文件夹。 如果您不确定在转换过程的哪个阶段发生错误,这很有用。
- --verbose, -v
- 详细程度。指定多次来提高详细程度:指定两次是最详细,一次是中等,零次是最简略。
AUTHOR
Kovid Goyal
COPYRIGHT
Kovid Goyal
八月 23, 2024 | 7.17.0 |