Calibre 使用教程之优化电子书的排版
不论是在亚马逊 Kindle 电子书商店购买的电子书还是从其它渠道下载到的电子书,总免不了会遇到排版不如人意的情况,这时就可以使用 Calibre 简单优化一下,使之更符合自己阅读习惯。
组成 Kindle 电子书的主要成分是 HTML 和 CSS,因为 KF8 标准支持大部分 HTML 标签以及 CSS 属性,如果你有点儿写网页代码的基础,完全可以制作出排版精良的电子书,就算没有也没关系,只需要在使用 Calibre 转换电子书的时候,修改几个参数就能达到较好的效果。
对电子书排版的修改优化是在转换的过程中进行的,所以如果你还不会使用 Calibre 转换电子书,可以先点击这里查看使用方法。一般电子书的排版涉及到以下几个要素:
- 行间距,即段落内的两行文字基线之间的高度。
- 首行缩进,即把段落的第一行从左向右缩进一定的距离。
- 段落间距,即两个段落之间的距离。
在转换电子书时,建议先把“输出格式”设置为“AZW3”(如果您想要试用 mobi 格式,则需要在“MOBI 输出”中设置一下“MOBI 文件类型”为 both)。然后切换到“界面外观”,分别对和上面提到的几个要素对应的设置项的数值进行修改。下面给出的数值都是建议数值,具体可根据自己的喜好调整。
- 行间距:设置“最小行高”数值,如“140%”。
- 首行缩进:先勾选“删除段间空行”,再设置“缩进尺寸”的值,如“2.0em”。
- 段落间距:先勾选“在段落间插入空白行”,再设置“行间距”的数值,如“1em”。
* 注意,“最小行高”的单位是百分比,“缩进尺寸”和“行间距”的单位为 em,两者都是相对单位,它们都是以当前字体垂直高度为基准。比如 150% 和 1.5em 都等于一个半垂直字高的高度。
设置完毕后点击【确定按钮】开始转换,转换完毕后,鼠标右键点击电子书,在弹出的菜单中点击“打开所在目录”,把生成好的 AZW3 格式(或 MOBI 格式)的电子书拷贝到 Kindle 中阅读即可。
* 提示:如果你想把电子书推送到云端并保持设置好的排版,还需要做额外的处理。因为目前亚马逊个人文档服务不支持直接推送 AZW3 格式,对于 Calibre 转换的 both 模式的 mobi 格式,也经常出现无法推送成功的情况,所以推送之前,可以先把电子书先转换成 epub 格式,再用最新版本的 KindleGen 转换成 mobi 格式,然后再用邮箱进行推送即可。具体步骤请移步这里查看。
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/260.html
“转换电子书格式”相关阅读
- Calibre使用教程之为电子书添加或修改封面
- EpubPress:把打开的多个网页转成一本电子书
- 如何把 Kindle 电子书的横排文字改成竖排
- 亚马逊 Kindle Convert:纸质书无损转换电子书
- 如何将 AZW3 格式无损转换为 EPUB 格式并保持原有排版
- 如何把 KFX 格式转换成 MOBI 等其它电子书格式
- Calibre 使用教程之为电子书添加更换字体
- Calibre 使用教程之转换电子书格式
- Calibre 使用教程之电子书繁体字转简体字
- EasyPub:把 TXT 文档转成带目录的 MOBI 格式
- Calibre 常用命令行工具详解之 ebook-convert
- 乐书:在线 Kindle 电子书制作和转换工具
- KindleGen:亚马逊官方 Kindle 电子书格式转换工具
- 在 Kindle 中阅读 EPUB 格式电子书的两种有效方法
- 如何把 Kindle 电子书转换成增强型排版的 KFX 格式
请问一下,为什么我修改后,首行缩进和段落间距都成功,但是行间距怎么修改都没有变化?
卓瑞明 您好。如果输出的是 mobi 格式,请确保转换设置中的“MOBI 文件类型”不是选择的 old。
多谢!
你好 我设置了缩进 段落的缩进是我想要的,但是书里面的代码的首行他也帮我缩进了…这个应该怎么解决?
cass A{
void fun () {}
}
陶加涛 您好。程序不会区分正常段落和代码块的,这种情况您需要先找到包含代码块的元素的 id 或 class,然后在“样式”里面附加 CSS 样式重置缩进。比如代码块被
<div class="code"> ... </div>
这样一个 div 包裹着,那么就在 附加 CSS 里加上这样一行代码.code { text-indent: 0; }
即可。你好 这个问题之前解决了 但是我发现用calibre转换一些azw3 epub到mobi 会报错Creating KF8 output
Generating in-line ToC
Python function terminated unexpectedly
Opening and ending tag mismatch: span line 171 and style, line 278, column 12 (Error Code: 1)
Traceback (most recent call last):
File “site.py”, line 132, in main
File “site.py”, line 109, in run_entry_point
File “site-packages\calibre\utils\ipc\worker.py”, line 195, in main
File “site-packages\calibre\gui2\convert\gui_conversion.py”, line 33, in gui_convert_override
File “site-packages\calibre\gui2\convert\gui_conversion.py”, line 26, in gui_convert
File “site-packages\calibre\ebooks\conversion\plumber.py”, line 1226, in run
File “site-packages\calibre\ebooks\conversion\plugins\mobi_output.py”, line 204, in convert
File “site-packages\calibre\ebooks\conversion\plugins\mobi_output.py”, line 216, in create_kf8
File “site-packages\calibre\ebooks\mobi\writer8\main.py”, line 496, in create_kf8_book
File “site-packages\calibre\ebooks\mobi\writer8\main.py”, line 51, in __init__
File “site-packages\calibre\ebooks\mobi\writer8\toc.py”, line 94, in __init__
File “lxml.etree.pyx”, line 3032, in lxml.etree.fromstring (src\lxml\lxml.etree.c:68121)
File “parser.pxi”, line 1786, in lxml.etree._parseMemoryDocument (src\lxml\lxml.etree.c:102470)
File “parser.pxi”, line 1667, in lxml.etree._parseDoc (src\lxml\lxml.etree.c:101229)
File “parser.pxi”, line 1035, in lxml.etree._BaseParser._parseUnicodeDoc (src\lxml\lxml.etree.c:96139)
File “parser.pxi”, line 582, in lxml.etree._ParserContext._handleParseResultDoc (src\lxml\lxml.etree.c:91290)
File “parser.pxi”, line 683, in lxml.etree._handleParseResult (src\lxml\lxml.etree.c:92476)
File “parser.pxi”, line 622, in lxml.etree._raiseParseError (src\lxml\lxml.etree.c:91772)
lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: span line 171 and style, line 278, column 12
这个是因为什么原因呢 转换成epub是可以的 但是epub我用kindlegen转换成mobi又报错
信息(prcgen):I1040: 文档标识符是: “TPYHXB”
信息(prcgen):I1041: 文件格式版本是 V8
信息(prcgen):I1031: 保存 PRC 文件
信息(prcgen):I1032: 成功创建 PRC
信息(prcgen):I1038: 由于出现错误,无法生成 MOBI 域名文件!
希望得到回复 谢谢
注意这条错误提示:
Opening and ending tag mismatch: span line 171 and style, line 278, column 12
。从错误看,这是 XML 语法错误(没有结束的 XML 标签)导致解析出错,请检查 toc 文件,看看第 171 和 278 行有没有这个错误。你好,我用calibre把一份word文档转成mobi,然后导入到iphone7的kindle应用上观看,发现无论在calibre里如何调整行距,最后导入到手机应用的结果都是没有发生任何变化(mobi输出格式也勾选了both)。非常苦恼,可否帮我解答?
孤城 您好。如果不是 mobi 格式的原因,那可能就是转换后的 html 代码结构的原因,请先使用 Calibre 把这个文件转换成 epub 或 azw3 文件,然后再用编辑功能打开,看看源代码里面每一个段落使用的是否是
<p>
标签?按照你说的方法看了一下,发下每一个段落开头不是,而是。这个问题有办法解决吗?
直接说标签名即可,不用加
<
和>
,不然代码会被过滤掉。对于这种要调节电子书内容排版,还是建议使用亚马逊的官方转换工具 KindleGen 来转换。你可以先用 Calibre 调整好排版参数,然后转换成 epub 格式,然后再用 KindleGen 把这个 epub 格式转换成 mobi 格式。
当然以上这种方法主要是针对转换后的文件需要使用邮箱推送的情况。如果不需要推送,直接使用 USB 数据线拷贝,那直接用 Calibre 转换成 azw3 格式就可以了。
大部分段落的标签是(p class=”block_6″)(span lang=”zh” class=”text_1″),然而可能因为原word文档是图文混排,所以有些段落的标签类似于(p class=”block_6″)(span lang=”zh” class=”calibre3″)(img src=”images/image12.jpeg” alt=”image15″ class=”calibre2″/)(/span)(span lang=”zh” class=”text_1″)。
按照您的回复意见,我只需要先用 Calibre 调整好排版参数并转换成 epub 格式,然后再用 KindleGen 把这个 epub 格式转换成 mobi 格式就可以解决行距调整的问题了是吗?不需要修改任何段落的标签名吗?
我看电子书只在苹果手机上的kindle应用上看,不在其他设备上看。而kindle应用是无法读取azw3格式的。
是的,不需要手动干预标签。KindleGen 可以把 EPUB 格式转换 KF8 标准的 MOBI 格式,这种格式和 AZW3 没什么区别。
你好,为什么我把电子书导入calibre排版会乱?而在word上排版并不会乱。
小柴胡 您好。指的是把 Word 转换成 mobi 格式后排版会乱吗?如果是的话,这是正常的。mobi 格式电子书本质上就是 html 文档,而 Word 文档并非标准的 html 文档,Calibre 在转换的时候只是尽可能地按照原样把 Word 文档转换成 html 结构。对于简单的 Word 排版 Calibre 转换的效果可能还行,但是对于稍微复杂一点的排版,Calibre 就力不从心了。
您好,我在转换一本书时始终失败,无法调整行间距。
您能否留下邮箱,我发送给您这份文件,您为我检查下问题出在哪?
十分感谢
一二 您好。如果是生成的 mobi 格式,需要在“MOBI输出”中8把“MOBI文件类型”改为 both。邮箱可在页面底部的“联系”获得。
小编好,我用Calibre把一本英文pdf转换成azw3,导入kindle以后点击更换字体,显示的是中文的楷体黑体等,请问是在转换过程的设置出了什么问题吗?
伊 您好。请参考《为什么 Kindle 调用的字体和电子书语言不匹配》这篇文章中提供的方法。
你好,请问我用calibre将pdf转为azw3时,出现大量段落内换行的情况应该怎么解决?
舟 您好。PDF 的格式实现比较复杂,并不是标准的的文本格式,所以才可能造成这种换行的情况出现。此问题貌似没有特别好的办法,只能手动校对。
您好我想请问下
1.现在我转换好的azw3格式一级目录和二级目录字太大了怎么办?
2.我看的是剧本希望左边顶头就好 怎样才能每行不要首行缩进呢?
3.英文换行断字超奇怪 有方法从断字的单词自动换行嘛?
谢谢~希望能被回复!
Auto 您好。第二个问题好解决,将本文中提到的“行首缩进”设置为“0”即可。其他两个问题,建议您将电子书文件发送到我们的邮箱,以便根据实际情况帮您解答。
我发送到邮箱了 如果能帮到我就太感谢啦!!还有我直接azw3保存到Kindle里面没图片不知道怎么办了~这个小问题就先放着 再次谢谢!
分析了下您发来的电子书文件,发现您提出的问题都是细节上的控制。您可以按照下面的方法在 Calibre 中实现。
首先选择要转换的格式,然后按照下列说明设置参数。
1、修改 CSS 中修改一、二级标题的
font-size
。在这本书中一级标题的 CSS 类是calibre3
,二级标题的 CSS 类是calibre5
,将其font-size
属性设置成你所希望的大小,比如当前为1em
,你可以将其修改成0.7em
或者更小。具体方法为:在转换界面切换到“界面外观”,切换到“Styling”,然后在“Extra CSS”中写入下列 CSS 代码:2、把 CSS 中的所有
text-indent
属性设置为 0。具体方法为:在转换界面切换到“界面外观”,切换到“layout”,勾选“删除段间空行”,把其后的“Indent size”设置为 0。3、转换的内容中的空格都是
这种强制不换行空格,可以在转换时利用正则替换成普通空格即可。具体方法为:在转换界面中切换到“查找与替换”,然后添加一个替换规则,查找正则表达式:\xa0
,替换文本为一个空格。设置完毕后开始转换,最终生成的电子书就解决这三个问题了。
太感谢了!辛苦辛苦啦~我会好好看的~再次感谢!又学会了一招~你好厉害啊!
hello,我PDF的文件转成MOBI格式和AZW3格式的时候文章格式都乱掉了,在句子中间直接分段了,每段就一行零两个词然后又一段,请问可以怎么解决?
另外想问我有本书的字的颜色过浅,请问如何解决?
马佳理 您好。如果您使用 Calibre 转换电子书,可以在转换对话框中选择“界面外观”,然后切换到“过滤样式信息”,在“选择您想要彻底移除的样式信息”选项中勾选“颜色”,这样转换出来的电子书就是纯黑色了。另一种方法是通过编辑电子书的源文件,删除 CSS 中所有的 color 属性(或者把所有 color 的属性值都改为 #000 或 black 也可以)。
您好,我有本英语书,两个词之间间距过大,请问如何处理?
马佳理 您好。如果单词的间距过大,可以检查下电子书的 CSS 中是否有“两端对齐”属性:text-align: justify,如果有的话去掉即可。
你好,为什么优化排版后推送到kindle显示不出封面??
livingroom 您好。如果需要推送到云端,不建议使用本文提供的方法。想要推送到亚马逊云端的电子书显示封面,需要将 mobi 选项设置为 old 模式(也就是 mobi7 这种老的电子书标准,这种标准的电子书无法使用 CSS 控制排版)才能正常显示封面。因为这属于亚马逊服务器的问题,没有办法解决。
好,谢谢
你好,我在用这个软件把PDF转成mobi的时候,文件大了好几倍,可能是什么问题?谢谢
asdfg 您好。建议您先使用 KindleUnpack 将转换后的文件拆解,检查下拆解后的文件,可能会发现其中原因。
你好,我是将原先是PDF的文件转成mobi,但那个PDF是扫描版的,所以会是这里的问题么,还有就是我想要德汉字典的mobi,小语种那里有新德汉,但只有这一本,而且解释有点…,所以就想自己弄一本,有什么方法推介么?谢谢
随便使用 PDF 文档转换成 mobi 格式测试了下,一个 8.2MB 的 PDF 转换成的 mobi 格式达 105.1MB。使用 KindleUpack 将转换后的 mobi 文件拆解后发现 Calibre 是把 PDF 的每一页都转化成 JPG 格式图片,而每张图片的尺寸又比较大,所以才造成这种情况。需要注意的是,之所以 PDF 的体积很小,是因为有些 PDF 文档虽然是扫描版,但页面内容并非是位图形式,而是以矢量形式存储。使用 PDF 阅读器放大页面,可以看到这些文字的边缘都是矢量小方块。
自制字典方法可以参考本站的自制字典的相关教程。
小k,我如果把转换格式直接设置MOBI,然后MOBI文件类型直接选成NEW,可以吗?修改行间距后发送KINDLE能够识别吗,能正常显示吗
黎星瞳 您好。经过测试,MOBI 文件类型选择 NEW 后很可能 Kindle 无法读取,也无法成功推送。所以对于转换格式,建议您参考本文的“提示2”。
第一段,差强人意是指还说的过去的意思。
Jimmy 您好。感谢您的指正,错误已改正。请原谅小编的没文化。(○’ω’○)
Calibre 转换的表格不太理想,表格内的文字不能自动换行。