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
以下是一些常见转化的选项,接着
是特定输入输出的选项
- 输入格式选项
- 输出格式选项
- 界面外观
- 智能处理
- 查找与替换
- 结构检测
- 目录
- 元数据
- 调试
- --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
输出格式选项
处理输出 epub
的选项设置
- --epub-flatten
- 仅当需要使用FBReaderJ阅读EPUB文件时使用本选项。启用本选项会消除EPUB文件中的目录层级,把所有文件放到顶层目录中。
- --epub-max-image-size
- 最大图片大小(宽x高)。
值none表示使用输出配置文件中的屏幕大小。值profile
表示不指定最大大小。
例如,值
100x200将调整所有图片的大小,使其宽度不超过
100
个像素,高度不超过
200 个象素。
请注意,这只会影响实际图片文件本身的大小。任何给定的图片都可以根据文档中应用的样式以不同的大小进行渲染。
- 将生成的EPUB文件的内容解压到指定文件夹。请注意,该文件夹的内容会被清空。
- --flow-size
- 将大于该大小
(以KB为单位)
的HTML文件切分为多个文件。由于多数EPUB阅读器无法打开太大的文件,故此功能很有必要。默认值
260KB 是Adobe Digital Editions
的所需大小。设置为0以禁用基于大小的切分。
- --no-svg-cover
- 禁用
SVG格式的图片作为书籍封面。如果你打算将
EPUB 文件用到不支持 SVG
格式的设备(如 iPhone 或 JetBook
Lite)中的话,请使用该选项。不选中此选项的话,这类设备将只能将封面显示为一个空白页。
界面外观
输出的界面外观选项设置
- --asciiize
- 将Unicode字符转换为ASCII表示形式。请小心使用,因为这将用ASCII替换Unicode字符。例如,它将用“Pele”替换“Pelé”。此外,请注意,如果一个字符有多个表示形式(例如,中文和日语共享的字符),则将基于Calibre界面语言的来确定所用的形式。
- --base-font-size
- 基准字体大小(以PT为单位)。在生成的书籍中所有的字体尺寸将基于这个大小重新缩放。通过选择更大的尺寸,可以使输出中的字体更大,反之亦然。默认情况下,当值为0时,根据你选择的'输出配置'确定基准字体大小。
- --change-justification
- 更改文本对齐方式。
使用值"左对齐"
将转换资源中所有的文本为左对齐。
(如:未对齐)
使用值"justify"
将转换资源中所有的未对齐的文本为居中对齐。使用值"original"(默认)则不更改源文件的对齐方式。请注意,仅部分输出格式支持对齐方式。
- --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总是使用完整书写。
- CSS 样式表或原始 CSS
文件路径。该 CSS
样式表将会被添加到源文件的样式规则中,它可以用于覆盖那些样式规则。
- --filter-css
- 将从所有CSS样式规则中删除的以逗号分隔的
CSS
属性列表。如果某些样式信息阻碍了阅读器设备中的样式设置,则此选项非常有用。例如:字体、颜色、左边距、右边距
- --font-size-mapping
- 将CSS字体名称映射为以PT为单位的字体大小.
例如您可以将这里的值设为12,12,14,16,18,20,22,24.
这些设置是从xx-small到xx-large的对应映射,
最后的大小作为对应的字体最大尺寸的映射.
字体缩放算法使用这些大小来智能地缩放字体,默认使用'输出配置'中指定的映射关系.
- --keep-ligatures
- 保留输入文档中的连字。所谓“连字”是指对于ff,
fi,
fl之类的字母组合的一种特殊的展示方式。大部分阅读器在使用默认字体时无法支持“连字”,所以常常无法正常显示。默认情况下,calibre
会把“连字”转换成对应的字母组合。本选项用于选择保留“连字”。
- --line-height
- 行高(以PT为单位)。控制连续文本行之间的行高。仅适用于未定义自身行高的内容元素。大多数情况下,最小行高值更加有用。默认不做行高调整。
- --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,可以实现文本的“双倍行距”。
- --smarten-punctuation
- 将普通引号、破折号和省略号转换为与它们对应的正确印刷体。有关详情,
请参阅
https://daringfireball.net/projects/smartypants。
- --transform-css-rules
- 包含转换本书中CSS样式的规则的文件路径。创建这样一个文件的最简单方法是在
calibre
GUI中使用向导创建规则。在“界面外观->转换样式”的转换对话框部分访问它。
一旦创建规则,就可以使用“导出”按钮将它们保存到文件中。
- --transform-html-rules
- 包含转换本书中的HTML的规则的文件的路径。创建这样一个文件的最简单方法是在
calibre图形用户界面中使用向导创建规则。在“外观->转换HTML”的转换对话框部分访问它。一旦创建规则,就可以使用“导出”按钮将它们保存到文件中。
智能处理
使用常见规则修改文档内容与结构。默认禁用。使用
--enable-heuristics
启用该功能。具体选项可以通过
--disable-* 参数禁用。
- --html-unwrap-factor
- 用于决定一行文字是否不换行的系数,有效值为
0 到 1
之间的小数,默认值是
0.4,即略小于半行的长度。如果文档中只有很少的行需要消除段落内换行,应当减小这个设置值。
查找与替换
以用户预定义的规则修改文档内容和结构。
- --search-replace
- 包含查找替换正则表达式的文件路径。该文件必须包含正则表达式交替行后面跟着替换规则(它可以是一个空行)。正则表达式必须是Python正则表达式的语法并且文件必须是UTF-8编码。
结构检测
设置自动检测文档结构。
- --chapter
- 用于检测章节标题的XPath表达式。默认情况下,将包含单词“chapter”、“book”、“section”、“prolog”、“epilogue”或“part”的<h1>或<h2>标签以及任何具有class=“chapter”的标签被视为章节标题。所用表达式的必须使用上述列出的元素。要禁用章节检测,请使用表达式“/”。有关使用此功能的更多帮助,请参阅calibre用户手册中的XPath教程。
- --chapter-mark
- 指定如何标记检测到的章节。值“pagebreak”将在章节之前插入分页符。值“rule”将在章节前插入一个空行。值“none”将禁用章节标记,值“both”将同时插入分页符和一个空行来标记章节。
- --remove-first-image
- 删除输入电子书的第一张图片。用于输入文档有一个封面图像但其没有被设为封面的情况。在这种情况下,如果你在
calibre
设置了封面,又没有选择该项,输出文件将最终有两个封面图片。
- --start-reading-at
- 用于检测文档阅读时的起始页的位置的
XPath
表达式。某些电子书阅读器(以
Kindle
为代表)使用此位置来打开书籍。请参阅
calibre 用户手册中的 XPath
教程了解使用此功能的更多帮助。
目录
设置自动生成目录。默认情况下若源文件有目录,它将被优先使用,而不是自动创建。
- --level1-toc
- XPath表达式,指定应添加到一级目录中的所有标签。如果设置了此项,则它优先于其他形式的自动检测。有关示例,请参阅calibre用户手册中的XPath教程。
- --level2-toc
- XPath表达式,指定应添加到二级目录中的所有标签。每项都添加到前一级目录项下。有关示例,请参阅calibre用户手册中的XPath教程。
- --level3-toc
- XPath表达式,指定应添加到三级目录中的所有标签。每项都将加入到二级目录项下。请参阅
calibre 用户手册中 XPath
教程的例子。
元数据
设定输出的元数据选项
- --series-index
- 设置丛书中的书籍索引。