Calibre 使用教程之把合集电子书拆分成单本
很长一段时间以来,书伴从留言区或交流群都收到过小伙伴们提出的同一个问题:如何把由多本电子书组成的合辑拆分成单本?对于合集形式的电子书,其好处是价格比较实惠,商家也乐得以此获取较好的销量。不过这同时也给有些小伙伴带来了困扰,原因不尽相同,有的是因为合集电子书体积太大不方便存放,有的是因为不同类型的书放在一起不方便阅读。所以有了把多本电子书拆分成单本的需求。
Kindle 电子书的内容是主要是由 XML、HTML 和 CSS 组成,所以肯定是可以拆分的,但是如用纯手工实现较为繁琐。之前书伴曾在一条留言的回复中提到过这种方法,需要用到的软件是 KindleUnpack、KindleGen 和代码编辑器。思路是:首先使用 KindleUnpack 把合订本拆解成源文件,然后把源文件复制成若干份(里面有几部就复制几份),使用代码编辑器分别编辑 opf 和 ncx 文件,把除了想要保留的索引删除。然后修改一下每一部书的元数据,比如标题、封面。接着再按照索引把 Text 文件夹下的不需要的 HTML 文件删除。最后使用 KindleGen 分别把每个部分通过 opf 文件生成 mobi 文件。
这种方法效率实在是太低,不仅需要熟悉基本的 HTML 和 CSS 知识,在实际搬砖的过程中也不可避免的会出错,所以书伴并没有写一篇文章介绍此方法。那有没有高效率的处理方法,可以快速的把合集电子书拆分成单本形式的电子书?答案是肯定的,本文为小伙伴们介绍的就是个不错的方法。
此方法其实依赖一个名为 EpubSplit 的 Calibre 插件,从插件名可以看出,这是用来处理 EPUB 格式电子书的插件,所以对于 Kindle 用户来说,在开始处理常见的 AZW3 或 MOBI 格式的合集电子书前,需要先将其转换成 EPUB 格式,好在这种转换不会造成太大的损失,所以也是可以接受的。
这款插件的使用比较简单,下面书伴就从安装到处理的过程快速理顺一遍,好让小伙伴们看完即可上手使用。当然,在开始下面的步骤之前要确保你的系统安装了 Calibre 这款软件。
一、安装 EpubSplit 插件
Calibre 的插件安装有两种方式,一种是直接在内置的可选插件中直接安装,另一种是通过加载插件的 ZIP 包安装,因为我们要使用的 EpubSplit 插件可以直接安装,所以建议采用此种方式。
打开 Calibre 软件,点击打开菜单中的“首选项”,在“高级选项”那一栏中点击“插件”,打开插件管理界面。点击底部的【获取新的插件】,打开获取“用户插件”的界面,在“插件过滤列表”中选择“未安装”,在“按名称过滤”的输入框中出入插件名“EpubSplit”即可找到这款插件,双击并确认安装,按照提示重启一下 Calibre 即可成功安装。Calibre 再次打开时即可看到“工具栏”右侧出现了一个“EpubSplit”图标。
二、一键拆分合集章节内容
把合集电子书拖入 Calibre 书库,通过右键菜单的“转换书籍 -> 逐个转换”将其转换成 EPUB 格式。待转换完毕后,选中这本电子书,点击“工具栏”上的“EpubSplit”图标,即可弹出如下所示的界面:
在此界面中可以看到,电子书中的章节条目都被逐条列出,你所要做的就是选中要拆出电子书的所有章节条目,然后点击下方的【New Book】按钮,插件就会把它们提取出来生成单本电子书。
需要注意的是,选择章节的时候,判断两本书的分界,要以同一个 HTML 文件名为准,比如列表中相邻的 text/part0019.html
和 text/part0019.html#I3QM0-389xxxxxx
应该是归在同一本书中的。另外,可以忽略列表中第一条 titlepage.html,一般这是一个封面,而 Kindle 电子书并不需要页面式的封面。
点击【New Book】后会提示你新生成电子书的元数据会用合集电子书的元数据填充,确定会弹出新生成电子书元数据的编辑界面,你可以根据自己的实际需求修改,比如选择新的封面,填写新的书名、作者等元数据信息。确认后点击【确定】按钮,提取出来的这本电子书就会自动存进 Calibre 书库中。
如此法炮制,把其它需要提取来的章节条目,按此方法重复操作,直到把所有单本电子书都提取出来。
三、转换分离出的内容格式
全部分离完毕后,就可以把这些单个 EPUB 格式电子书用 Calibre 或 KindleGen 重新转换成适用于 Kindle 的 MOBI 或 AZW3 格式,最后通过邮箱推送或通过 USB 拷贝的方式传进 Kindle 设备中阅读。
最后再唠叨一下转换格式需要注意的一些小细节。使用 Calibre 把电子书转换成 MOBI 格式,默认会输出 old 模式,也就是旧的 mobi7 标准的电子书,它会损失所有原有的 CSS 样式,推送到 Kindle 中后能正常显示封面,但拷贝到 Kindle 设备中不能显示封面,而选择其它两个选项 both 或 new 模式,可能会出现其它问题。用亚马逊官方提供的 KindleGen(特指 2.9 版本)转换的电子书是 KF8 标准的电子书,它能保留 CSS 样式,推送到 Kindle 中后不显示封面,但拷贝到 Kindle 中却能显示封面。
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/603.html
“Calibre教程”相关阅读
- 把 TXT 文档转换成带目录的 MOBI 格式电子书
- 用 GitHub Actions 让 Calibre 定时推送新闻到 Kindle
- 如何解决 Kindle 电子书无法更换字体的问题
- 解决依赖内嵌字体才能正常显示的电子书乱码问题
- 解决 Calibre 推送“500 Error: bad syntax”错误
- Calibre 使用教程之为电子书添加更换字体
- 如何修复用 Calibre 通过 USB 导入 Kindle 的电子书封面
- Calibre 常用命令行工具详解之 ebook-meta
- Calibre 使用教程之批量获取电子书元数据
- Calibre 使用教程之通过 WiFi 向 Kindle 传输电子书
- Calibre 使用教程之抓取 RSS 制成电子书
- Calibre 使用教程之通过邮箱一键推送 Kindle 电子书
- Calibre 使用教程之抓取网站页面制成电子书
- 如何将 Calibre 中的电子书拼音书名保存成中文书名
- Calibre 常用命令行工具详解之 ebook-convert
亲啊,这个插件主页(https://www.mobileread.com/forums/showthread.php?t=178799)都特莫12年的帖子,它只支持epub2,有没有支持拆分epub3的插件啊
作者人家一直有更新的呢,你不要没看清楚就乱喷
至于确实不支持3
我去看了帖子里面回复,从后翻了几页,其实早有人反映过
作者的回复+机翻我给你贴过来
A combination of factors.
多种因素的结合。
I didn’t have many sources for examples of epub3 documents at the time.
当时我没有很多 epub3 文档示例的来源。
Epub3 has more complex ToC tags, for example, epub3 can put images in ToC. I’m not sure what theducks’ example above is, some quick research appears to show epub3 ToC have to be tags.
Epub3 有更复杂的 ToC 标签,例如,epub3 可以把图片放在 ToC 中。我不确定上面的鸭子的例子是什么,一些快速研究似乎表明 epub3 ToC 必须是 标签。
Lack of examples where epub3 is substantively better than the equivalent epub2.
缺乏 epub3 明显优于等效 epub2 的例子。
And my lack of motivation to support both epub2 and epub3 natively.
而且我缺乏原生支持 epub2 和 epub3 的动力。
To quote myself from several years ago:
引用几年前的自己:
The funny thing about EpubSplit is I made it primarily to fulfill my sense of symmetry after making EpubMerge. I very rarely use it myself. Calibre’s Edit Book feature didn’t exist at the time I created EpubSplit. If it had, I doubt I would have made EpubSplit.
关于 EpubSplit 的有趣之处在于,我制作它主要是为了在制作 EpubMerge 后满足我的对称感。我自己很少使用它。在我创建 EpubSplit 时,Calibre 的 Edit Book 功能并不存在。如果是这样,我怀疑我会制作 EpubSplit。
非常感谢教程!!!终于能把选集合集拆开发到微信阅读了
编辑的时候它没办法删除啊,拆出是啥意思,选出来然后选新建newbook?
下载后,点击EpubSplit后出现下面报错提示。这个要怎么弄啊。
AttributeError: ‘NoneType’ object has no attribute ‘xpath’
请问,如果calibre转换横版azw3文件的时候,版面缺失问题,怎么解决,例如儿童读物或者杂志类,页面貌似都是双页显示,转换成PDF后不仅会变形,甚至页面也出现大部分缺失,把横向排版裁切成竖向排版,这种问题,请给个详细教程,因为我不会写CSS代码啊,求救
这需要测试,可以把 PDF 文件发送到书伴邮箱(页面底部“联系”处获取)。
用 Calibre 将其它源文件转换成 PDF 不需要 CSS,也不需要更改排版的方向,因为页面尺寸是根据你的设定的宽高参数生成的。为了控制 PDF 输出效果,你需要在“PDF 输出”做一些设置。
首先是一些通用设置:勾选“保持封面纵宽比”,把“默认字体大小”和“等宽字体大小”设为“0 px”,把“页边距”的“左右上下”设为“0.0 pt”。
然后是最重要的参数:根据不同的 PDF 页面大小设置“自定义页面尺寸”。该尺寸数值参数格式为“宽x高”,比如“500×300”,注意后面的单位要根据具体情况自行选择,推荐使用比较通用的单位“毫米(millimeter)”。
需要注意的是,通常情况下不知道源文件中的页面尺寸,所以你需要多尝试几次才能得到满意的结果。比如你发给我的 AZW3 文件“Hello, World! Ocean Life”的尺寸需要设置成 260×130 毫米才能获得较好的输出效果。为了更快地获取合适的尺寸,个人建议先设置一个较大的值,然后根据输出效果,按比例将值调小。
想拆一本合集,23M 多一点,点了插件之后 Calibre 就一直转圈圈,等好久也没解决~感觉没希望了。
我也是这个问题,19M左右,异常信息是MemoryError, 我的电脑内存是 128G的,应该不是内存不够,可惜不懂Python,要不就自己查下Bug了.
calibre, version 5.43.0
错误: 未处理的异常: MemoryError:
calibre 5.43 embedded-python: True is64bit: False
Windows-10-10.0.19041 Windows (’32bit’, ‘WindowsPE’)
32bit process running on 64bit windows
(‘Windows’, ’10’, ‘10.0.19041’)
Python 3.8.5
Windows: (’10’, ‘10.0.19041’, ”, ‘Multiprocessor Free’)
Interface language: zh_CN
Successfully initialized third party plugins: EpubSplit (3, 3, 0)
Traceback (most recent call last):
File “calibre_plugins.epubsplit.epubsplit_plugin”, line 133, in plugin_button
File “calibre\db\legacy.py”, line 644, in format
File “calibre\db\cache.py”, line 1008, in format
File “calibre\db\cache.py”, line 74, in call_func_with_lock
File “calibre\db\cache.py”, line 841, in copy_format_to
File “calibre\db\backend.py”, line 1562, in copy_format_to
File “shutil.py”, line 205, in copyfileobj
MemoryError
第一 二步应该正确完成了
但在第三步
站长请问出现这样的报错如何解决
这可能是其中一条错误导致无法成功创建 MOBI 文件的,但是没必要手动分析解决,建议先用 Calibre 重新转换一遍 EPUB 格式(让它把可能存在的问题都自动处理一下),再用 KindleGen 转换。
谢谢站长 已解决
你好,请问是如何解决的?
我遇到的情况跟你一样,分析后发现是拆分 EPUB 文件的时候,text/part0019.html 和 text/part0019.html#I3QM0-389xxxxxx 是一起拆分的,结果就是 toc.ncx 指向了 text/part0019.html#I3QM0-389xxxxxx 而不是指向 text/part0019.html,但是 EPUB 文件里 并没有 text/part0019.html#I3QM0-389xxxxxx 所以导致转换报错,需要手动把 toc.ncx 里的指向修改为 text/part0019.html 后才能正常转换。
如果需要一个个修改工作量巨大,请问这个问题有什么方便的方法解决吗?
可以尝试用 Calibre 重新批量转换一遍,让其自动修复可能存在的错误。
现在已经搜不到这个插件了、
可以呀,我刚都能搜到。
我发现在获取新的插件里搜索搜不到,但是直接找能找到
epubmerge插件
这个跟文章里的有啥区别么
我是回复上面那个Dzero的,他要做合集,文章里面的是做拆分的
您好,请问如何制作合集电子书啊,我想把很多本漫画放在一起,所以不在意大小的限制
生成的Epub没有目录唉!
怎么把合集主封面给去掉啊,即使分开了封面还是一模一样。
第二部分的第 4 段有说明。点击【New Book】后出现的元数据编辑界面中,你可以选择你准备好的其它封面图片。
( ̄△ ̄;)打开了calibre插件的大门……