EPUB格式电子书推送至Kindle失败,或者目录有问题该如何解决 您所在的位置:网站首页 kindle邮件导入电子书找不到文件 EPUB格式电子书推送至Kindle失败,或者目录有问题该如何解决

EPUB格式电子书推送至Kindle失败,或者目录有问题该如何解决

2024-07-11 13:41| 来源: 网络整理| 查看: 265

准备:Epub编辑器Sigil; 电子书管理Calibre; 亚马逊自己的转码软件Kindle Previewer 3(可选)

Epub格式电子书用邮箱或者Kindle App推送的时候,经常会推送失败。由于推送本来就比较麻烦,可以在电脑上安装一个Kindle Previewer。用这个软件能正常打开Epub文件的话,那推送也不会有问题,如果无法正常打开,那也就无法正常推送,就像这样:

打开转码日志,基本上都是这样的报错

E24010:无法解析目录中的超链接(一个可能的原因是此链接指向带“样式显示:无 (style display:none)”的标签)

E24001: 无法创建目录

然后跟一大堆链接。看得出来,大概就是目录出问题了。

这里提供两种解决方法,第一种是使用Sigil软件(或者Calibre自带的电子书编辑功能)重新建立目录;第二种是下载电子书的时候,尽量选择AZW3格式而不是EPUB格式,然后通过Calibre的KindleUnpack插件将AZW3文件直接解压成EPUB格式。下面是具体方法。

方法1:

安装好Sigil后,用它打开推送失败的电子书。有可能会先弹出一个是否自动修复文件的对话框,选是否都可以,我目前没有发现会对文件造成什么影响。

打开后选择工具→目录→编辑目录,就可以看到目录的链接

可以看到,目录其实就是链接了相应的.html文件。这些html后面还有#跟了一串不知道什么意思的编码。正是#号后面的这一串文字让kindle转码时找不到地址从而造成转码失败。而且我发现,如果这串编码都很有规律,一般推送就不会发生这类异常,只有像乱码一样的时候才会有问题。所以,其实在推送之前用Sigil查看一下就大概知道能不能推送成功。

大概知道了问题所在,现在退出编辑目录的窗口然后再选择工具→目录→生成目录,软件就会自动检测标题并生成目录。

检查一下目录是否正常。如果觉得分得太细碎小标题太多,可以点下方选项选择保留几个层级。如果没有问题后OK就行啦。

然后再打开编辑目录看一下.html后面#号跟一串乱码一样的链接就都没有啦,还有一些不像乱码、很有规律的链接,应该已经不会造成问题了。

最后保存退出,这时候再用Kindle Previewer试试,可以正常打开,再推送就没问题了。

还有一些需要注意的点:

    ①如果自动生成的目录不正常,可以手动在编辑目录窗口选择异常条目,再点击选择目标,换成此地址的上面一个.html后面是空白的正常地址就可以了。异常链接少的话可以这样一个一个操作,但是多的话还是重新找书吧,除非你有这个耐心;

    ②如果是多本书合集的Epub文件,自动生成的时候可能无法识别到每本书的题目,最多只能识别到每本书本身的目录。想解决这个问题的话也可以去自己手动创建目录,并调整目录的等级,把每本书的1级目录改成2级并放到书籍题目下。但是Sigil不能批量处理目录,处理起来也相当麻烦,非要弄的话推荐使用Calibre的电子书编辑功能。两个编辑器都大同小异,只是Calibre可以直接批量拖动目录条目进行处理,这里就不多赘述了。

kindle的兼容性确实不好,推送失败的电子书用其他软件(例如静读天下,阅读,Librera)打开可能并不会有什么问题,但偶尔也会出现异常,那么同样也可以尝试用这个软件调整目录。

方法2:

下载电子书之前不确定Epub文件是否有问题,但是AZW3格式一般不会出问题,至少我到目前还没遇到过。所以如果想要避免未知情况,可以一开始就尽量选择AZW3格式下载。常见的还有mobi格式,但它的大小一般会是同一本书Epub格式的两倍以上,而且现在也不支持mobi格式的推送了,所以不太推荐,不过用数据线直接导入kindle还是可用的。总之除非是追求兼容性之类的情况,是没必要特意选择mobi格式。

虽然AZW3同样不能直接推送,但是它可以用Calibre直接解压为Epub,不会出现推送问题的同时,还能保持电子书的样式不发生改变。

(其实,之前亚马逊是支持mobi推送,而不支持Epub推送的,不过可以把后缀.epub改成.html就能推送了。现在Epub直接推送就行。)

安装好Calibre后,看看上方菜单栏有没有KindleUnpack这个选项,没有的话点击首选项→高级选项→插件,再在搜索框里输入KindleUnpack并回车,找到这个插件安装上。

回到主界面,将下载下来的AZW3文件拖入窗口就导入了书籍。然后选定书籍,点击上方的KindleUnpack → AZW3 → KF8 to ePub

成功之后弹出提示,并且看到格式栏多了EPUB

然后导出即可

不过导出的文件名可能是拼音,可以先点击首选项→导入/导出→保存至磁盘,将图片里标出的这一项“将非英语字符转换为对应英语字符”取消掉就好了。下方还可以根据自己喜好调整输出文件名的模板,我的习惯是“书名_作者名”这样的。

    

注意事项:

    ①将电子书文件导入Calibre时,它会将文件复制一份到自己的书库文件夹里,导出就是再复制一份在你选择的导出位置。如果书籍文件很多,为了避免占用空间,可以先点击上方的书库选项设置书库放到哪个盘;

    ②使用KindleUnpack插件会在C盘产生缓存文件,如果处理的书籍特别多,磁盘空间可能不够,造成任务未全部完成就中断。关闭Calibre缓存会自动删除,考虑到现在都用固态硬盘,如果频繁且大量地用这个方法处理书籍,可能对硬盘寿命也不友好;

    ③除了用KindleUnpack插件的方法,也可以使用Calibre自带的格式转换功能。这个方法需要设置许多转换的参数,虽然大部分实际上不需要改动,但是保不准哪里没有设置好,转换出的文件又会推送失败,而且有可能造成轻微的书籍格式改变。不过这样不会在C盘产生大量缓存。

我前面也说过通过AZW3格式解压出的Epub从来没出过问题,但实际上我在操作图片里的这个例子时就出现了问题。解压出的Epub并不能用Kindle Previewer打开,反而直接用格式转换出的Epub是正常的。这真的是我第一次遇到这种情况,我还又抽检了几本和图中例子同一批下载的AZW3电子书,用KindleUnpack解压后也都是正常的。所以虽然打脸,但是这种方法还算是靠谱吧。

其他方法:

对于目录异常链接很多,又不能自动生成正常的目录,除了手动一个一个编辑,还可以通过其他方法尝试。例如将Epub文件改格式转换为AZW3再用上述方法将其解压为Epub;或者在Sigil中用查找替换的方法将Epub导航文件(toc.ncx或者nav.xhtml)中目录对应的地址.html#后表面都换成空白。另外还有推送成功但是文字乱码等问题,详细都可以见书伴的这篇文章:

推送 EPUB 文件到 Kindle 的常见失败原因及解决方法https://bookfere.com/post/992.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有