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

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

给这篇文章写一条留言

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

小伙伴们写下了 154 条留言

  1. 卤煮上面第二个方法好像写乱了,不是说的先转epub后再转mobi吗,但是下面写成了直接转换成mobi了,这个方式虽然直接拷贝格式是不会变,但推送邮箱后就会乱。

  2. 你好 我用calibre转换azw3到mobi,好多本都出现错误
    转换书籍 第 1 本,共 1 本 (SQL必知必会(第4版) (图灵程序设计丛书 80))
    C:\Program Files (x86)\Calibre2\pylib.zip\dateutil\parser.py:339: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode – interpreting them as being unequal
    Resolved conversion options
    calibre version: 2.70.0
    {‘asciiize’: False,
    ‘author_sort’: None,
    ‘authors’: None,
    ‘base_font_size’: 0.0,
    ‘book_producer’: None,
    ‘change_justification’: u’justify’,
    ‘chapter’: u”//*[((name()=’h1′ or name()=’h2′) and re:test(., ‘\\s*((chapter|book|section|part)\\s+)|((prolog|prologue|epilogue)(\\s+|$))’, ‘i’)) or @class = ‘chapter’]”,
    ‘chapter_mark’: u’pagebreak’,
    ‘comments’: None,
    ‘cover’: u’C:\\Users\\AH\\AppData\\Local\\Temp\\calibre_uayjp4\\cbnrsy.jpeg’,
    ‘debug_pipeline’: None,
    ‘dehyphenate’: True,
    ‘delete_blank_paragraphs’: True,
    ‘disable_font_rescaling’: False,
    ‘dont_compress’: False,
    ‘duplicate_links_in_toc’: False,
    ’embed_all_fonts’: False,
    ’embed_font_family’: None,
    ‘enable_heuristics’: False,
    ‘expand_css’: False,
    ‘extra_css’: u’/* BB eBooks BoilerPlate Kindle for MOBI 7 and KF8*/\n/* Modify as Needed */\n/* visit us @ http://bbebooksthailand.com/developers.html */\n\n/*===Reset Code===*/\nhtml, body, div, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, center, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video\n{\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tfont-size: 100%;\n\tvertical-align: baseline;\n}\n\n/* Do Not reset ol, ul, or table for MOBI 7. It blows out all styling */\n\n/*===GENERAL PRESENTATION===*/\n/*===Body Presentation and Margins===*/\nbody\n{\n\ttext-align: justify;\n\tline-height: 120%;\n}\n\n/*===Headings===*/\n/* After page breaks, Kindle does not render margins above the content unless there is a file split in the package. */\nh1\n{\n\ttext-indent: 0;\n\ttext-align: center;\n\tmargin: 100px 0 0 0;\n\tfont-size: 2.0em;\n\tfont-weight: bold;\n\tpage-break-before: always;\n}\n\nh2\n{\n\ttext-indent: 0;\n\ttext-align: center;\n\tmargin: 50px 0 0 0;\n\tfont-size: 1.5em;\n\tfont-weight: bold;\n\tpage-break-before: always;\n}\n\nh3\n{\n\ttext-indent: 0;\n\ttext-align: left;\n\tfont-size: 1.4em;\n\tfont-weight: bold;\n}\n\nh4\n{\n\ttext-indent: 0;\n\ttext-align: left;\n\tfont-size: 1.2em;\n\tfont-weight: bold;\n}\n\nh5\n{\n\ttext-indent: 0;\n\ttext-align: left;\n\tfont-size: 1.1em;\n\tfont-weight: bold;\n}\n\nh6\n{\n\ttext-indent: 0;\n\ttext-align: left;\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n\n/*===Paragraph Elements===*/\n/* Margins are usually added on the top, left, and right, but not on the bottom to prevent Kindle not collapsing white space properly */\n\n/*firstline indent for fiction*/\np\n{\n\ttext-indent: 1.25em;\n\tmargin: 0;\n}\n\n/*block indent for non-fiction*/\n/*\np\n{\ntext-indent: 0;\nmargin: 1.0em 0 0 0;\n}\n*/\n\n/* for centered text and element wrappers on images*/\np.centered\n{\n\ttext-indent: 0;\n\tmargin: 1.0em 0 0 0;\n\ttext-align: center;\n}\n\n/* section Breaks (can use centered-style for non-fiction) */\np.centeredbreak\n{\n\ttext-indent: 0;\n\tmargin: 1.0em 0 1.0em 0;\n\ttext-align: center;\n}\n\n/* First sentence in chapters following heading */\np.texttop\n{\n\tmargin: 1.5em 0 0 0;\n\ttext-indent: 0;\n}\n\n/* 1st level TOC */\np.toctext\n{\n\tmargin: 0 0 0 1.5em;\n\ttext-indent: 0;\n\ttext-align: left;\n}\n\n/* 2nd level TOC */\np.toctext2\n{\n\tmargin: 0 0 0 2.5em;\n\ttext-indent: 0;\n\ttext-align: left;\n}\n\n/*==IMAGES==*/\n\n\n/*===IN-LINE STYLES===*/\nspan.i\n{\n\tfont-style: italic;\n}\n\nspan.b\n{\n\tfont-weight: bold;\n}\n\nspan.u\n{\n\ttext-decoration: underline;\n}\n\nspan.st\n{\n\ttext-decoration: line-through;\n}\n\n/*==in-line combinations==*/\n/* Using something like … may seem okay, but it causes problems on the Kindle */\nspan.ib\n{\n\tfont-style: italic;\n\tfont-weight: bold;\n}\n\nspan.iu\n{\n\tfont-style: italic;\n\ttext-decoration: underline;\n}\n\nspan.bu\n{\n\tfont-weight: bold;\n\ttext-decoration: underline;\n}\n\nspan.ibu\n{\n\tfont-style: italic;\n\tfont-weight: bold;\n\ttext-decoration: underline;\n}\n\n\n/* Superscripted Footnote Text */\n.footnote\n{\n\tvertical-align: super;\n\tfont-size: 0.75em;\n\ttext-decoration: none;\n}\n\n\n/*==KF8 specific here ==*/\n\n@media amzn-kf8{ \n\nspan.dropcap {\n\tfont-size: 300%;\n\tfont-weight: bold;\n\theight: 1em;\n\tfloat: left;\n\tmargin: -0.2em 0.1em 0 0.1em;\n}\n\np.clearit\n{\n\tclear: both;\n}\n\nol, ul, li, dl, dt, dd \n{\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tfont-size: 100%;\n\tvertical-align: baseline;\n}\n\n/*==Lists ==*/\nul\n{\n\tmargin: 1em 0 0 2em;\n\ttext-align: left;\n}\n\nol\n{\n\tmargin: 1em 0 0 2em;\n\ttext-align: left;\n}\n\ntable\n{\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n\tmargin: 1.0em auto;\n}\n\ntr, th, td\n{\n\tmargin: 0;\n\tpadding: 2px;\n\tborder: 1px solid black;\n\tfont-size: 100%;\n\tvertical-align: baseline;\n}\n\n} /* End KF8 Specific Styles */\n\n/*==e-ink Kindle Specific==*/\n@media amzn-mobi{\n\n/* pseudo dropcaps for e-ink Kindles */\n\tspan.dropcap\n\t{\n\t\tfont-size: 1.5em;\n\t\tfont-weight: bold;\n\t}\n\n} /* End e-ink Kindle Specific Styles */\n\n/*==eBook Specific Formatting Below Here==*/’,
    ‘extract_to’: None,
    ‘filter_css’: u”,
    ‘fix_indents’: True,
    ‘font_size_mapping’: None,
    ‘format_scene_breaks’: True,
    ‘html_unwrap_factor’: 0.4,
    ‘input_encoding’: None,
    ‘input_profile’: ,
    ‘insert_blank_line’: True,
    ‘insert_blank_line_size’: 1.0,
    ‘insert_metadata’: False,
    ‘isbn’: None,
    ‘italicize_common_cases’: True,
    ‘keep_ligatures’: False,
    ‘language’: None,
    ‘level1_toc’: None,
    ‘level2_toc’: None,
    ‘level3_toc’: None,
    ‘line_height’: 0.0,
    ‘linearize_tables’: False,
    ‘margin_bottom’: 5.0,
    ‘margin_left’: 5.0,
    ‘margin_right’: 5.0,
    ‘margin_top’: 5.0,
    ‘markup_chapter_headings’: True,
    ‘max_toc_links’: 50,
    ‘minimum_line_height’: 140.0,
    ‘mobi_file_type’: u’both’,
    ‘mobi_ignore_margins’: False,
    ‘mobi_keep_original_images’: False,
    ‘mobi_toc_at_start’: False,
    ‘no_chapters_in_toc’: False,
    ‘no_inline_navbars’: True,
    ‘no_inline_toc’: False,
    ‘output_profile’: ,
    ‘page_breaks_before’: u”//*[name()=’h1′ or name()=’h2′]”,
    ‘personal_doc’: u'[PDOC]’,
    ‘prefer_author_sort’: False,
    ‘prefer_metadata_cover’: False,
    ‘pretty_print’: False,
    ‘pubdate’: None,
    ‘publisher’: None,
    ‘rating’: None,
    ‘read_metadata_from_opf’: u’C:\\Users\\AH\\AppData\\Local\\Temp\\calibre_uayjp4\\yh00zq.opf’,
    ‘remove_fake_margins’: True,
    ‘remove_first_image’: False,
    ‘remove_paragraph_spacing’: True,
    ‘remove_paragraph_spacing_indent_size’: -0.1,
    ‘renumber_headings’: True,
    ‘replace_scene_breaks’: u”,
    ‘search_replace’: ‘[]’,
    ‘series’: None,
    ‘series_index’: None,
    ‘share_not_sync’: False,
    ‘smarten_punctuation’: False,
    ‘sr1_replace’: None,
    ‘sr1_search’: None,
    ‘sr2_replace’: None,
    ‘sr2_search’: None,
    ‘sr3_replace’: None,
    ‘sr3_search’: None,
    ‘start_reading_at’: None,
    ‘subset_embedded_fonts’: False,
    ‘tags’: None,
    ‘timestamp’: None,
    ‘title’: None,
    ‘title_sort’: None,
    ‘toc_filter’: None,
    ‘toc_threshold’: 6,
    ‘toc_title’: None,
    ‘transform_css_rules’: ‘[]’,
    ‘unsmarten_punctuation’: False,
    ‘unwrap_lines’: True,
    ‘use_auto_toc’: False,
    ‘verbose’: 2}
    InputFormatPlugin: MOBI Input running
    on C:\Users\AH\AppData\Local\Temp\calibre_uayjp4\8wwj59.azw3
    Found KF8 MOBI of type ‘standalone’
    Extracting text…
    Parsing all content…
    Parsing text/part0000.html …
    Parsing styles/0001.css …
    Reading TOC from NCX…
    Merging user specified metadata…
    Detecting structure…
    Flattening CSS and remapping font sizes…
    MediaQuery: No match: (‘IDENT’, u’amzn-kf8′, 201, 8)
    MediaQuery: No match for None in Choice(Sequence(ONLY|NOT, media_type, Sequence(AND, Sequence(expression, media_feature, Sequence(colon, Choice(ColorValue, Dimension, Value)), expression END))), Sequence(Sequence(expression, media_feature, Sequence(colon, Choice(ColorValue, Dimension, Value)), expression END), Sequence(AND, Sequence(expression, media_feature, Sequence(colon, Choice(ColorValue, Dimension, Value)), expression END))))
    No content to parse.
    MediaQuery: No content.
    MediaQuery: No match: (‘IDENT’, u’amzn-mobi’, 257, 8)
    MediaQuery: No match for None in Choice(Sequence(ONLY|NOT, media_type, Sequence(AND, Sequence(expression, media_feature, Sequence(colon, Choice(ColorValue, Dimension, Value)), expression END))), Sequence(Sequence(expression, media_feature, Sequence(colon, Choice(ColorValue, Dimension, Value)), expression END), Sequence(AND, Sequence(expression, media_feature, Sequence(colon, Choice(ColorValue, Dimension, Value)), expression END))))
    No content to parse.
    MediaQuery: No content.
    Source base font size is 12.00000pt
    Removing fake margins…
    Found 231 items of level: p_2
    Found 32 items of level: div_1
    Found 10 items of level: p_3
    Found 1353 items of level: p_1
    Ignoring level p_3
    p_2 left margin stats: Counter({u’0′: 231})
    p_2 right margin stats: Counter({u’0′: 231})
    div_1 left margin stats: Counter()
    div_1 right margin stats: Counter()
    p_1 left margin stats: Counter({u’0′: 1353})
    p_1 right margin stats: Counter({u’0′: 1353})
    Cleaning up manifest…
    Trimming unused files from manifest…
    Trimming u’images/00006.jpeg’ from manifest
    Trimming u’images/00009.unknown’ from manifest
    Trimming u’images/00011.unknown’ from manifest
    Trimming u’images/00010.unknown’ from manifest
    Creating MOBI Output…
    Serializing resources…
    Splitting markup on page breaks and flow limits, if any…
    Splitting on page-break at id=nav_point_1
    Splitting on page-break at id=calibre_pb_1
    Splitting on page-break at id=calibre_pb_2
    Splitting on page-break at id=nav_point_218
    Splitting on page-break at id=calibre_pb_4
    …..
    Split into 157 parts
    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

    • 陶加涛 您好。注意这行代码 lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: span line 171 and style, line 278, column 12,电子书中的 XML 有语法错误,可能是存在没有结束的标签,请检查 opf 的第 171 行和 278 行。

  3. 太麻烦了,直接在线转换就得了,啥软件都没必要安装,也不需要设置:
    http://www.zamzar.com/(英文的,多功能转换,留个邮箱就行,最大不超过100M,大于100M要注册)
    http://cn.epubee.com/(小蜜蜂在线电子书转换器:单文件不大于60M,邮箱都不需要留,转换后直接下载,优点是速度快,缺点是文件名被改了。)

  4. 转换过程出错,第一本出错,但生成mobi了;第二本出错,mobi无法生成。
    后来一对比Calibre和kindlegen转换的epub和mobi,发现还是epub的格式保持的最好。
    直接用Calibre转换epub看书了

  5. 用kindlegen转换epub失败,是因为系统是64位的问题吗

    信息(prcgen):I1047: 已添加的元数据dc:Title “骑鲸之旅1+骑鲸之旅2:0-3岁亲子共读的经历写实,作者亲子共读的绘本有几百本,让孩子似鲸鱼一般畅游在共读的海洋里”
    信息(prcgen):I1047: 已添加的元数据dc:Date “2013-05-31T16:00:00+00:00”
    信息(prcgen):I1047: 已添加的元数据dc:Creator “粲然”
    信息(prcgen):I1047: 已添加的元数据dc:Publisher “译林出版社”
    信息(prcgen):I1047: 已添加的元数据dc:Contributor “calibre (2.50.1) [http://calibre-ebook.com]”
    信息(cssparser):I10004: 不支持@规则,但 @import、@charset 和 @font-face 除外
    信息(prcgen):I1052: Kindle 支持封面图像,但不支持封面采用 HTML。因此,在内容中使用指定的封面图像并禁止采用 HTML 封面。 网址: C:\Users\LY\AppData\Local\Temp\mbp_7E0_3_C_0_10_1B_37B_2190_7E4_1\titlepage.xhtml
    信息(prcgen):I1002: 解析文件 0000021
    信息(prcgen):I1015: 创建 PRC 文件
    信息(prcgen):I1006: 分析超链接
    警告(prcgen):W14001: 超链接出现问题,尚未解决: C:\Users\LY\AppData\Local\Temp\mbp_7E0_3_C_0_10_1B_37B_2190_7E4_1\text\part0001.html#UGI0-b98afac0f852493db59e90fe922dc3bc

    • mrro 您好。请注意“警告(prcgen):W14001: 超链接出现问题,尚未解决: ”这条提示,此 ePub 内容中的链接有错误。如果您不想手动分析该错误,可以尝试使用 Calibre 转换一下看是否能解决此问题。

      • 感谢回复。我是按照教程用Calibre先把azw3转的epub,然后用kindlegen转换epub出的错。
        如果用Calibre转epub到mobi,是不是跟azw3直接转mobi的效果一样啊,还会出现排版问题

  6. @Kindle伴侣 由于看的是专业书籍, 我在用Calibre将PDF档(非扫描版)转成MOBI格式后在Kindle PW3里面看了一下, 原来PDF里面的公式, 表格在转换后的MOBI电子书里面会乱掉, 请问这个问题怎么解决?非常感谢。

    • Howard 您好。对于 PDF 格式,除非内容是纯文本,不适合转换成 MOBI 格式。对于含有数学公式等这类含有复杂排版的 PDF 文档,更建议您使用 iPad、SONY DPTS1 这种大屏幕设备阅读,或者将其打印出来,而不是使用 Kindle 阅读。

  7. Mac终端反馈:错误(kindlegen):E30005: 不能打开文件 [corp.epub]
    这是怎么回事呢?

    • dtlong 您好。如果 KindleGen 无法转换,请检查一下此 epub 文件是否有问题,,如使用其他软件 Sigil 或 Calibre 之类等能读取 epub 格式的软件打开,如果均不能正常打开就说明此文件无法使用。

  8. 亲亲你好,我想请问一下,azw3的文件我通过calibre直接就可以发送至kindle里阅读并且显示封面,为什么要转换mobi呢?

    • 黎星瞳 您好。有小伙伴喜欢使用邮件推送的方式把电子书推送到亚马逊的云端,但是云端服务器不支持 azw3 格式,所以才需要转换成 mobi 格式。^_^

  9. 你好,请问,使用kindlegen转换epub到mobi,封面就没了,如何解决呢?谢谢!

    • River WANG 您好,KindleGen 的最新版本转换的电子书是 KF8 标准的电子书格式,直接拷贝到 Kindle 中可显示封面,但是推送到云端就无法显示封面了,这应该是亚马逊服务器方面的问题,除非服务器端修复此问题,暂无解决方法。

    • spring 您好。如果您要阅读的书有 X-Ray 不建议转换成 mobi 格式,云端推送后会造成 X-Ray 的丢失。

  10. @Izual_Yang 由于层数太多,无法回复。
    试了一本,完全没必要。跟原版 mobi 比,kindlegen 转的排版错乱了。

  11. 如果是从盗版网站上下载的kindle mobi格式电子书直接拷贝到kindle机器里,依然排版混乱,请问有解决方法吗?谢谢

    • 万杰 您好。如果是电子书自身的质量问题,通过转换软件是无法解决的。通常某一本书在网络上有会有很多版本,建议所搜索下,看看有没有排版更好的版本。

  12. 由于出现错误,无法生成 mobi 域名文件。kindlegen 执行过程中也有好多错误提示,操作系统 win8.1 电子书和执行程序都放桌面上了,还是不行。

    • 奔三小姑娘 您好。因为 KindleGen 是亚马逊针对自己的私有格式 mobi 而推出的一款转换软件,对于 epub 等格式的电子书和亚马逊自己的那一套规定有所出入,所以在转换某些 epub 格式的电子书时会出现转换失败的情况。所以如果偶遇此种情况还是建议使用 Calibre 转换吧。

  13. 你好,转换以后在用邮箱推送到kindle无法显示封面,但拷贝到kindle可以显示封面可是生词无法进生词本,您能帮忙解答解决一下吗?请看到了务必回答一下,谢谢

    • 卧室 您好。能否将您转换前和转换后的电子书发送到我们的邮箱,以便使用设备帮您测试下。^_^亚马逊的个人文档服务仅对推送的 mobi7 标准电子书显示封面,而 mobi8 标准的电子书不显示,具体原因官方没解释。

      • 在连接 kindle 的基础上,用下面这个软件补全封面。
        https://github.com/quiris11/ExtractCoverThumbs/releases

        • 我也为这个封面问题折腾了好半天都没有解决,虽然直接Copy到Kindle本机上可以显示没问题,但不推送云端的话笔记和收藏夹设置都不能同步了太不方便。
          Calibre转成Mobi格式的话,选择both或者old出来的排版都跟原来的azw3不一样了,选择new则虽然能生成Mobi但邮件无法推送。
          用KindleGen把ePub转成Mobi或者拆分Unpack把content.opf转成Mobi推送云端后都能保持azw3的原排版格式,但是就是在Kindle中独独缺了封面显示。用Calibre打开这个该文件可以看到是有封面的,但就是不显示,更诡异的是在iPad上这些文件都是能显示封面的。
          我后来用了ExtractCover去给Kindle上的文件写入封面信息,但是虽然执行过程显示这几本书已经从AZW3文件提取了封面,但打开Kindle仍然没有封面显示,重启也一样。
          我估计可能跟KindleGen编译信息的这行提示有关,不知道怎么解决:
          信息(prcgen):I1052: Kindle 支持封面图像,但不支持封面采用 HTML。因此,在内容中使用指定的封面图像并禁止采用 HTML 封面。

          • Elaine 您好。这和 KindleGen 以及出现的那个提示没有关系。MOBI 格式的 Kindle 电子书有两种标准,即 mobi7 和 mobi8,亚马逊的个人文档服务仅对推送的 mobi7 标准电子书显示封面,而 mobi8 标准的电子书不显示,具体原因官方没解释。但可以肯定的是,这完全取决于亚马逊的服务器的处理,作为用户目前无法主动去改变这种情况。

    • 在连接 kindle 的基础上,用下面这个软件补全封面。
      https://github.com/quiris11/ExtractCoverThumbs/releases

  14. KindleGen是个什么鬼,我一本4M的古龙全集epub,转换出来一个90M的mobi~~~