如何将 AZW3 格式无损转换为 MOBI 格式并保持原有排版

“转换电子书格式”相关阅读

给这篇文章写一条留言

提示:带 * 标记的是必填项。您填写的邮箱地址将会被保密。首次留言将会在通过人工审核后显示。如果是提出问题,请务必提供尽可能多信息,这有助于他人更好地理解你所提出的问题。

小伙伴们写下了 154 条留言

      • 没办法解决,转出来的mobi文件显示16m邮箱传书后管理我的内容里面显示只有2.3m

          • 我试了下usb就不会,我平时都是多个设备包括Kindle app一起使用的,邮箱压缩的话有什么办法能解决吗?

            • 这就可以确定是亚马逊服务器压缩图片了。据我所知,亚马逊的 Kindle 个人文档服务只提供了一个指令,就是在邮件主题填写“convert”来强制将其它格式转换成 Kindle 格式,并没有提供可以控制是否压缩的指令,所以这个问题应该是无解的。

  1. 为什么我用Kindle Previewer 3将azw3转换成mobi时,文件大小丝毫没变,而且生成的mobi不能发送到kindle呢

  2. 使用 calibre 将 azw3 转换为 both mobi(显示KF8)格式(这2本电子书在calibre上预览,排版没有明显区别,但传输至kindle时格式走样),图书能够通过邮件正常传输至 kindle
    但是同样的azw3源文件通过kindle previewer 3 转换为 mobi 时,邮箱传输屡试屡 bug

    另外使用kindle preview 3 时总是提示 “由于该电子书是由较旧版本的Kindle Gen 或第三方工具创建的Mobi文件,因此不支持在启用增强排版功能的情况下进行预览” 且在导出时,只有旧的mobi与ios2种导出方式。不知与提示是否有关,生成的依然是KF7标准导致不能邮传

    • 不必劳烦站长了 个人通过尝试先unpack再kindlegen 如果有人有将转换的mobi邮箱推送的需求,建议尝试第二种方法

    • 建议先用 Calibre 将其转换成 EPUB 格式,然后再用 KindleGen 把 EPUB 格式转换成 KF8 标准的 MOBI 格式。

      • KindleGen的命令符看的不是很明白,就用的直接拖动文件到kindlegen.exe运行的方法,请问这种方法方法转换出的mobi是KF8标准吗?

        • 是的。只要你使用的 KindleGen 版本是 2.9(当前最新版),转换出来的 MOBI 格式就是 KF8 标准。

          • 看转换日志记录,里面提到生成的mobi包含两种格式,一个v6,一个v8,通过邮箱推送到终端app上的只有v6,v8的一大堆css即html属性没看到, 是我操作错了么

            • 你的操作没错,选择 v6 格式还是 v8 格式是亚马逊服务器选择的,它可能会根据终端软件版本推送它认为合适的格式。装有新版本固件的较新型号的 Kindle 设备会接受 v8 格式,但是不清楚 Kindle APP 是否也是这样。你可以检查一下你下载的 Kindle APP 是否最新版本,如果确认是新版本仍然只能接收 v6 格式,那就是亚马逊服务器的问题了。

  3. 请问是否有办法将自己制作的epub和mobi加密?又是怎么个读取形式……似乎是我想多了

    • 如果只是为了避免外泄,可以直接打包成加密的 ZIP 或 RAR,告诉允许阅读的人密码即可。如果是为了避免盗版,那就用 DRM 技术,包括亚马逊在内的所有电子出版商就在用,只允许专有设备阅读专有内容。

  4. 请问怎么修改电子书书名?我在使用了“拆书”功能后,发现拆分的两本是以开始的第一卷为书名的

    • 修改电子书的书名需要修改它元数据里面的书名。不知道你所说的“拆书”功能是怎么实现的,如果使用的的是 Calibre 的插件,可以在转换时修改电子书名,如果是修改的电子书源文件,需要修改 .opf 文件中的这个标签中的文字:<dc:Title>Book title</dc:Title>

  5. 站长,你好,我在vol上推送的漫画是awz3的,我想改一下名字,就复制粘贴到这个软件里,转为mobi格式后推送到kindle上以后,乱了,出现了两种情况,一种是原本漫画有212页,转格式之后多了好多空白页,另一个是所有漫画图片之后出现了”第X页(漫画有多少页,X最多有几页)”,这是怎么回事?有没有解决办法?

    • 漫画格式算是一种特殊电子书格式,直接用 Calibre 转换会破坏它的排版。不知道你有没有尝试本文提供的第一种方式:先用 KindleUnpack 拆解,修改好内容后,再用 Kindle 转换。这种方式可能不会破坏原格式的信息。

  6. 谢谢书伴的介绍,但是您写得文章还可以更好懂一些,反正我是折腾尝试了很久!不想其它Mac用户再走我的老路了。如果是Mac用户可以参考下这篇小白简易。Windows上kindle unpack总是说拆解失败,大家留言的问题我都排除了,可能是Python版本不适配,有明白的可以指导下。
    …………………………………………
    Mac上操作《将 AZW3 格式转换为 MOBI 格式并保持原有排版格式》
    ⑴kindle unpack
    去这个网站下载独立UI版本。
    https://www.mobileread.com/forums/showpost.php?p=654996&postcount=1
    KindleUnpack v0.81.app.zip (442.4 KB, 247 views) 是AppleScript version
    KindleUnpack 64 v0.81.app.zip (437.5 KB, 414 views) 是 64-bit AppleScript version fo Mac OS X 10.6 and later
    操作:打开独立的UI版本,把azw3的书直接拖拽到APP图标上。
    ⑵kindlegen
    用脚本版本,不用UI版本,就不用缩小体积那个很可能用不了的脚本了!UI版不支持缩小体积!
    官网下载链接如下。
    http://kindlegen.s3.amazonaws.com/KindleGen_Mac_i386_v2_9.zip
    ①打开终端
    ②拖拽KindleGen_Mac_i386_v2文件夹里的kindlegen这个exe文件到终端
    ③拖拽kindle unpack解压后的mobi8文件夹下的书名.epub或者mobi8→OEBPS→content.opf这个文件到终端。哪个都一样!试过了!
    ④输入这行命令
    -dont_append_source
    ⑤回车键

    这样就能得到保持原有排版格式的mobi,和原文件在同一路径。如果是content.opf转的还要改文件名。

    • 今天总结了一下Windows的方法,依然是面向电脑小白的。
      Windows上KindleGen的使用方法。
      ①下载的kindlegen压缩文档解压,只把文件夹里的kindlegen.exe单独拿出来放到桌面。
      ②打开CMD,输入下面命令回车。
      cd desktop
      ③把书名都改成book.epub,放到桌面上。
      ④输入下面命令回车。
      kindlegen.exe “book.epub” -dont_append_source

  7. 感谢这篇教程,成功的转换了书籍,不过文章是15年的,现在版本的Calibre在使用起来更简单一些,没有教程里面的那么复杂而且是中文版了。

  8. 您好,我遇到一个非常恼人的问题,希望能够得到您的帮助,具体问题如下:

    我按照文中所示的两种方法,都试过了,推送到kindle和手机app上都没有问题,kindle上的排版是正常的,但是推送到手机上的书打开后的行间距非常窄,而且亚马逊app自带的调整行间距的功能直接失效,导致在app上看书非常难受,请问有好的解决方法吗?
    注:我是把mobi格式的书进行排版并转化为azw3,并且再用kindlegen转换为mobi格式

    • 如果导致调整行间距的功能失效,一般是电子书的 CSS 强制设定行距导致的,建议用 Calibre 的编辑器检查一下电子书的 CSS 文件中,有没有类似 line-height 属性强制设定行距。

      • 感谢回复
        我的css文件确实设置了line height,这也是我本人自己使用calibre通过设置最小行高导致的,然而这正是我排版的目的,如果取消了这个设置固然能在手机上调整行间距,但是与我的初衷不符,我希望能够在手机端能够看到行间距排版良好的书本(话说为什么在kindle上就没问题呢?)
        另外您的回答给了我启发,我决定去看看排版优良的书本的css,另外期待您的再次解答。

  9. 把awz3格式,转换成mobi,推送kindle中为什么就没有封面?calibre中显示封面正常,但是kindle里不显示封面,请问这个怎么弄呢?

    • 首先你把 AZW3 文件拷贝到 Kindle 看看能不能显示封面,如果显示就说明这本书的封面没问题。然后排查,你使用什么转换成 MOBI 格式的,如果使用的是 Calibre,必须转换成老的 mobi7 标准的 MOBI 格式(也就是转换时“MOBI 输出”的“Kindle选项”选择的“MOBI文件类型”是“old”),这样推送后才能显示封面;如果使用的是 2.* 版本的 KindleGen 转换的,是新的 KF8 格式,推送后是不显示封面的。

      如果 MOBI 文件标准没问题,还需要注意,Kindle 显示封面有时候很慢,可以尝试重启一下设备,多等等看,或者多用几本电子书测试一下。

  10. Calibre的转换日版书的效果并不理想,我之前都是用Calibre转成Epub再用kindlegen。但是Calibre转出来的Epub不能直接转mobi,kindlegen会报错,所以还得拆开包找错误。

  11. 请问使用方法一转换的mobi文件,通过邮箱推送到kindle是不是不会显示封面?

  12. 为什么电子书推送到kindle都不会显示封面,我只用old的模式成功过一次

    • 笑沧海 您好。KF8 标准的电子书直接拷贝到 Kindle 中即可显示封面,mobi7 需要用邮件推送到 Kindle 或用 Calibre 传输到 Kindle 才显示封面。

      • 原来如此!我基本上都是邮箱推送,这样可以保存进度,谢谢解答!

      • 用easypub制作成mobi2.8版本的,应该是kf8标准吧……然后直接拷进kindle并没有显示封面,请问这个怎么解决呢?

        • 如果 MOBI 文件自身没问题,可能就是 Kindle 读取封面的问题。有时候 Kindle 显示封面很慢,可以尝试重启一下设备,多等等看,或者多用几本电子书测试一下。

  13. 遇到这个错误提示了:
    错误:E20004:Spine 中的 ID 与 manifest 中的任何项均不匹配:x_cover.xhtml
    于是Kindlegen转换不成功