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
以下是一些常见转化的选项,接着
是特定输入输出的选项
- 输入格式选项
- 输出格式选项
- 界面外观
- 启发式处理
- 查找并替换
- 结构检测
- 目录
- 元数据
- 调试
- --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, 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
输出格式选项
处理输出 epub
的选项设置
- --epub-flatten
- 仅在你需要使用 FBReaderJ
阅读 EPUB
文件时使用本选项。启用本选项会消除
EPUB
文件中的目录结构,把所有文件放到同一层目录中。
- --epub-version
- 要生成的 EPUB
文件版本。EPUB 2
是最具广泛兼容性的,只有在你确实需要的情况下才使用
EPUB 3。
- 解压EPUB文件的内容到指定文件夹。请注意该文件夹会先被清空。
- --flow-size
- 将大于该大小
(以KB为单位)
的HTML文件切分。由于很多EPUB阅读器无法打开巨大的文件,故此功能十分有用。默认值
260KB 是Adobe Digital Editions
的文件大小要求。设置为0来禁用大小为基准的切分。
- --no-svg-cover
- 请不要使用 SVG
作为书籍封面。如果你打算将
EPUB 文件用到不支持 SVG
格式的设备(像 iPhone 或 JetBook
Lite)上的话,请使用该选项。不选中此选项的话,这类设备将只能显示封面为一个空白页。
- --preserve-cover-aspect-ratio
- 当使用 SVG
封面时,该选项会导致封面平铺满有效的屏幕区字段,但仍会保持它的纵宽比(宽度和高度的比例)。意思就是说,这可能会在图像顶边或底边处产生空白边界,但是图像本身不会被扭曲变形。不选该选项的话,图像可能会产生轻微的扭曲变形,但优点是不会出现空白边界。
界面外观
输出的界面外观选项设置
- --asciiize
- 把 Unicode 字符转换为 ASCII
表达型式。请谨慎使用这个功能,因为它会把所有的
Unicode 字符转换为 ASCII
字符。比如:它会把
"Михаил
Горбачёв"
替换为 "Mikhail
Gorbachiov"。并且当一个字符可能有多种表示方式时(比如中文和日文中一些共用的字符),
calibre
会根据当前设置的界面语言类型决定如何去转换这类字符。
- --base-font-size
- PTS中的基本字体大小。在生成的书籍中所有的字体尺寸将基于这个大小重新缩放。通过选择更大的尺寸,可以使输出中的字体更大,反之亦然。默认情况下,当值为0时,根据你选择的输出配置文件选择基本字体大小。
- --change-justification
- 更改文本对齐方式。
使用值"left"
将转换资源中所有的文本为左对齐。
(如:未对齐)
使用值"justify"
将转换资源中所有的未对齐的文本为对齐。使用值"original"(默认)则不更改源文件的对齐方式。请注意,仅部分输出格式支持对齐方式。
- --embed-all-fonts
- 嵌入输入文档中引用到但未嵌入的字体。软件会在你的系统中查找这些字体,找到了就嵌入。字体嵌入只有当你的目的格式支持才有用,例如
EPUB、AZW3、DOCX 和
PDF。请保证你拥有在文档中嵌入字体的合适授权。
- --embed-font-family
- 在书中嵌入指定字体。这指定了书中使用的“基础”字体。如果输入文件自己指定了字体,就有可能覆盖这个基础字体。你可以使用过滤样式信息的选项来去除输入文件的字体。注意,字体嵌入只在一些输出格式中有用,主要是
EPUB、AZW3 和 DOCX。
- --expand-css
- 默认情况下,calibre
将使用各种CSS属性的简写形式,如边距、填充、边框等。此选项将使用完整的展开形式。注意,在生成EPUB文件时,由于Nook不能处理速记CSS,所以将输出配置文件设置为Nook配置文件中的一个,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的对应映射,
最后的大小作为做对应的最大字体的映射.
程序用这些尺寸进行只能文字字体缩放.
程序默认使用输出配置文件中指定的映射关系.
- --keep-ligatures
- 保留输入文档中的“印刷连字”。所谓“印刷连字”是指对于ff,
fi,
fl之类的字母组合的一种特殊的展示方式。大部分阅读器在使用默认字体时无法支持“印刷连字”,所以常常无法正常显示。默认情况下,calibre
会把“印刷连字”转换成对应的字母组合。本选项用于选择保留“印刷连字”。
- --line-height
- pt
行高。控制两行高度距离。仅仅适用于未定义行高的元素。大多数情况下,最小行高值更加有用。默认不进行行高操控。
- --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%。
- --smarten-punctuation
- 将普通引号、破折号和省略号转换为与它们对应的正确印刷体。有关详细信息,
请参阅
https://daringfireball.net/projects/smartypants
- --transform-css-rules
- 包含转换本书中CSS样式规则的文件路径。创建这样一个文件的最简单方法是在
calibre
GUI中使用向导创建规则。在“界面外观->转换风格”的转换对话框部分访问它。
一旦创建规则,就可以使用“导出”按钮将它们保存到文件中。
启发式处理
使用常见模式修改文档内容与结构。默认禁用。使用
--enable-heuristics
启用该功能。具体选项可以通过
--disable-* 参数禁用。
- --html-unwrap-factor
- 决定一行字符是否能成为一个新的段落的因子,有效值为
0 到 1
之间的小数,默认值是
0.4,即略小于半行的长度。如果文档中只有很少的行需要消除段落内换行,应当减小这个设置值。
查找并替换
以用户预定义的模式修改文档内容和结构。
- --search-replace
- 包含搜索和替换正则表达式的文件路径。该文件必须包含正则表达式交替行后面跟着替换模式(它可以是一个空行)。正则表达式必须是Python正则表达式的语法并且文件必须是UTF-8编码。
结构检测
设置自动检测文档结构。
- --chapter
- XPath
表达式用于检测章节标题。默认考虑使用
<h1> 或 <h2>
标签来涵括“章节”,“书籍”,“节选”,“前言”,“结束语”,或者使用任何标签包含级别
=“章节”的“部分”做为章节标题。使用的表达式必须评估元素列表。要禁用检测章节,请使用表达式“/”。请参阅
calibre 用户手册中的 XPath
教程了解使用此功能的更多帮助。
- --chapter-mark
- 设置标注章节的模式.
"pagebreak"模式会在章节前插入下一页控制符.
"rule"模式会在章节前插入空行.
"none"模式不会在章节前插入控制.
"both"模式会在章节前插入下一页控制符和空行.
- --remove-first-image
- 移除输入电子书的第一个图像。这是有用的如果输入文档有一个封面图像,但没有确定为封面图像。在这种情况下,如果你在
calibre
设置了封面,如果你不指定此选项,输出文件将最终有两个封面图片。
- --start-reading-at
- 用于检测文档中开始阅读位置的
XPath
表达式。某些电子书阅读器(以
Kindle
为代表)使用此定位标识来打开书籍。请参阅
calibre 用户手册中的 XPath
教程了解使用此功能的更多帮助。
目录
设置自动生成目录。默认情况下若源文件有目录,它将被首选自动创建。
- --level1-toc
- 指定应添加到目录级别1的所有标签的
XPath
表达式。如果指定此项,它会优先于其他自动检测形式。可查阅
calibre 用户手册中的 XPath
向导。
- --level2-toc
- XPath
表达式指定所有标签应添加在二级目录表。每个条目加入到一级目录条目下。请参阅
calibre 用户手册中 XPath
教程的例子。
- --level3-toc
- XPath
表达式指定所有标签应添加在三级目录表。每个条目加入到二级目录条目下。请参阅
calibre 用户手册中 XPath
教程的例子。
- --max-toc-links
- 输出文件目录中的最多链接项数量。设置为
0
表示关闭。默认值:50。只有在检测到的章节数量小于该阈值时这些链接项才会被添加到目录中。
元数据
设定输出的元数据选项
- --series-index
- 设置书籍在丛书中的索引位置。
- --title-sort
- 用作排序的书籍标题序列数字。