EasyPub:把 TXT 文档转成带目录的 MOBI 格式

之前 Kindle 伴侣曾经写过一篇《把 TXT 文档转换成带目录的 MOBI 格式电子书》一文,可以将常见的 TXT 格式文本文档转换成带目录的 MOBI 格式电子书,使其更适合 Kindle 阅读。在那篇文章里详细介绍了使用正则表达式预处理文本文档,然后再使用 Calibre 转换成 MOBI 格式。如果您感觉手动处理文本太麻烦,那就不妨来试试下面这款小软件,它可以节省你不少时间。

EasyPub 是 HIPAD 论坛的网友 lucida 开发的一款免费软件,在设计上延续了另外一款同类型软件 txt2epub 的思路。它可以把 TXT 文档转换成规范的 EPUB 或 MOBI 格式电子书。功能比较丰富,如添加封面、生成目录,还支持手动添加正则表达式、嵌入字体、定制 CSS 等。另外还对 gbk/unicode/utf8 格式的做了预先转码,正确识别不带 BOM 的 UTF8 文本文件。

一、下载软件

目前 EasyPub 仅支持 Windows 系统,而且需要安装 .net 2.0,无需使用兼容模式运行,切勿使用管理员权限运行。你可以通过下面提供的任意一种方式下载。

EasyPub 1.50 下载发布页面下载 | 百度网盘下载(2.2MB)

二、快速上手

如果你想快速的把手中的 TXT 文档转换成带目录的 MOBI 格式电子书,只需要遵循下面的步骤一步步照做即可。如果想让生成的电子书更精美一些,请继续阅读下面的“进阶使用”。下面以从网络上随便下载的一个章回小说《金瓶梅》作为快速上手的例子。

  1. 下载 TXT 文档《金瓶梅》:test.zip(解码密码:kindle);
  2. 解压缩下载到的 EasyPub,并运行 EasyPub.exe
  3. 点击软件的“输入”框后的小按钮选择“金瓶梅.txt”(或直接将文档拖放至此);
  4. 点击软件的“输出”框后的小按钮选择生成电子书的目标路径(默认为源文件所在位置);
  5. 双击右边矩形区添加电子书封面图片[注1](也可以将封面图片拖放到此处)。如果没有图片封面,可以右键点击这里,在弹出的菜单中点击“生成图片封面”,程序会自动为电子书生成一个简单的图片封面。或者勾选“文字封面”不使用图片封面;
  6. 点击【编辑TXT文件】打开 TXT 文档观察章节标题的规律。本例文档中的章节标题是类似“第一回 西门庆热结十弟兄 武二郎冷遇亲哥嫂”、“第二回 俏潘娘帘下勾情 老王婆茶坊说技”这种,可以看出其规律是“第(中文数字)回 章节标题”。并且章节标题前没有空格;
  7. 在“章节”标签版面中选择“简易规则”,按照上面得到的章节标题规律,将“行首空格”取消勾选,选择“”、“纯中文数字”(也可选择默认的“混合数字”可自动识别)、“”;
  8. 切换到“mobi选项”标签,选择“Kindlegen版本”。1.2 版本的 KindleGen 可生成旧标准的 MOBI7 格式,2.8 版本的 KindleGen 可生成新标准的 MOBI8 格式[注2]
  9. 切换到“高级”标签,“默认输出”选择“MOBI”;
  10. 点击上方的【开始转换】按钮,稍等片刻便可得到带有目录的 MOBI 格式电子书了。

三、进阶使用

将下载的压缩包解压缩,运行“EasyPub.exe”会看到下图所示的界面:

A:主操控区
B:辅操控区
easypub

乍一看感觉很复杂,其实你只需要点击这里再看上图,就可以发现其实软件只有两个大操作区:“主操控区”和“辅操控区”。下面对这两个操控区简单做一些介绍。

A:主操控区:

  • 输入:可以点击后面的按钮选择你要转换的 txt 文档(也支持拖放操作)。
  • 书名:输入生成电子书的书名(默认读取 txt 文档的文件名)。
  • 作者:输入生成电子书的作者(可选)。
  • 输出:最终转换生成的电子书的输出路径,可点击后面的按钮选择。
  • 封面:可双击右边矩形区添加电子书封面(也可以将封面拖放到此处)。如果没有图片封面,可以右键点击这里,在弹出的菜单中点击“生成图片封面”,程序会自动为电子书生成一个简单的图片封面。或者勾选“文字封面”不使用图片封面。
  • 【编辑TXT文件】:点击此按钮可以直接编辑当前正要转换的 TXT 文档。点击旁边的小按钮可以选择打开 TXT 文本文档的默认编辑器。
  • 【开始转换】:点击此按钮即可按照当前的设置把 TXT 文档 转换成 epub 或 mobi 格式电子书。

主操控区有“输入”和“输出”两项必选操作,设置了这两项就能把 TXT 文档生成一个基本的 epub 或 mobi 格式电子书。如果你想让生成的电子书更丰富一些,比如自动生成目录、添加书籍信息、自定义 CSS 等,就需要通过“辅操控区”进行相关的设置了。下面对“辅操控区”做简要说明。

B:辅操控区:

  • 章节:在这里可以设置 TXT 文本文档的章节规则,提供了从简单到复杂正则的功能:简易规则、正则表达式、按长度均分x章、从文件加载,通过设置的规则,程序才能正确的判断章节标题,然后根据此章节生成目录。此外,你可还以点击【章节编辑】按钮对程序读取的章节进行预览和编辑。点击【保存】按钮保存对“章节”的设置。
  • 版式:在这里可以设置生成电子书的页边距、字体大小、行距、段间距、对齐、行首缩进、去除空行、封面图片样式、封面字体大小等详细设置。
  • 字体:在这里可以设置生成电子书的字体样式,提供了机型预设、自定义、内嵌字体、使用阅读器默认字体四个选项。
  • 书籍信息:在这里可以为生成的电子书添加译者、ISBN、出版日期、出版社、类别、语言、简介信息。
  • 定制css:如果你对电子书的某些样式不够满意并且有 CSS 基础,可以在这里添加自己写的 CSS 样式,也可以通过【加载css文件】按钮加载编写好的 CSS 文档。有略过、追加、覆盖三个可选模式。
  • 插图:使用此功能需要先开启“高级”选项卡中的“HTML源码标记”。
  • mobi选项:输出的 mobi 格式的各项设置。如精简mobi文件、期刊格式、兼容字典、阅读进度同步、ASIN设置。另外还可以选择转换 mobi 格式所用的 KindleGen 版本[注2],还能设置 KindleGen 的压缩方式和添加附加参数。
  • 高级:这里可以设置默认输出格式是 epub 还是 mobi,另外还可以设置静默模式、空章节的处理、层级目录缩进、HTML源码标记、输出到源目录、HTML文件大小上限、屏幕尺寸(宽x高)以及临时文件目录。

以上便是 EasyPub 的所有设置项,可以根据更具体需要更精准的控制输出格式。

* 网友经验:小伙伴 hook 分享了一份改进的正则表达式(点击这里查看),EasyPub 自带的正则表达式存放在程序目录中的配置文件 config.xml 中,你可以修改此文件体现改进的正则表达式。

四、其他事项

如果您要处理的文本文档不那么规则,建议手动调整一下再用 EasyPub 处理,毕竟程序是死的,不可能兼顾到所有情况。如果您在使用此软件的过程中遇到了问题可以前去作者的发布页面发帖反馈。如果您发现本文有需要改正的错误也请不吝留言指正,谢谢!

—————————–

[注1] Kindle 电子书封面图片标准规格如下:

  • JPEG 或 TIFF 格式
  • 优先使用 1.6:1 的长宽比
  • 最小尺寸:宽 625 像素,长 1000 像素
  • 最佳尺寸:宽 1563 像素,长 2500 像素

[注2] EasyPub 是依赖 KindleGen 转换 mobi 格式的,KindleGen 程序放置在 EasyPub 文件夹中的 bin 文件夹,如果想要生成老版本的 MOBI7 可使用软件自带的 1.2版本,如果想要生成新版本的 MOBI8 格式可以使用较新版本的 2.8 或 2.9 版本。

有帮助,分享给其他小伙伴:

发表评论

标注为 * 的是必填项。您填写的邮箱地址将会被保密。如果是在本站首次留言,审核后才能显示。
若提问,请务必描述清楚该问题的前因后果,提供尽可能多的对分析该问题有帮助的线索。

小伙伴们发表了 110 条评论

  1. 转化的mobi文件,使用邮箱推送,会被亚马逊退回来,内容如下:
    尊敬的客户,

    您从2020年6月30日16:03 发出的如下文档无法发送到您指定的Kindle上:
    * book.mobi

    Kindle个人文档服务目前只能转换并发送以下类型的文档:
    Microsoft Word (.doc, .docx)
    RTF文件(.rtf)
    HTML(.htm, .html)
    TXT文件(.txt)
    Zip, x-zip压缩文件
    Mobi格式电子书

    JPEG (.jpg), GIF (.gif), Bitmap (.bmp) 和 PNG (.png) 格式的图片。
    Adobe PDF (.pdf)文档可维持原文件格式,发送至您的Kindle。

    Adobe PDF (.pdf)文档可转换为Kindle格式发送,目前处于试用阶段。

    如上述格式的文档未成功发送,请确认文档是否受到密码保护或被加密。特别说明,目前最新的Kindle支持读取受密码保护的PDF文档。

    以附件形式发送个人文档时的使用提示:

    每个附件文档大小应在50MB以下(压缩到ZIP文件中之前)
    邮件的附件数不能超过25个

      • 谢谢你的关注。
        点击转换后:Urhandled exception has occurred in your spplication. If
        you click Continue, the application will ignore this
        error and attempt to continue. If you click Quit, the
        application will close immedi ately.
        Exception has been thrown by the target of an invocati on.
        是这样,是我电脑的问题么?

  2. 大家转换时,应首选“正则表达式”划分章节效果最好,不用手工点选,不懂没关系。
    不支持预定义章节划分的文档,会自动改为“简易规则”,实际是不分章节。

  3. 最理想的中文小说整理编辑器是:TextPro
    专门针对汉字优化,简繁转换准确,支持正则表达式,还有很多高效的快捷按钮(比如简单排版、规范行首、删除段内回车、合并文本、简繁全角半角批量转换等),速度极快。

    整理网络小说,可能需要先处理行首,再删除段内回车。可将以下两行正则式(注意都有两个中文空格符哦)保存为txt,然后添加到自定义替换表,并勾选正则表达式,大幅减轻工作量。
    [。!?︰:※*﹡*”--=﹟#_……」]$=\0\n  
    ^[※*﹡*”--=﹟#]=  \0

  4. 增强的正则表达式,请修改config.xml:

    ^\s*(简介|序言|序\d*|序曲|引子|摘要|后记|尾声).$
    ^\s*(前言|自序|附录).$

    ^\s*[第卷]\s*[\d一二三四五六七八九十百千〇零两廿卅卌]+\s*[章回部节集卷].*
    ^\s*Chapter\s*\S+
    ^\s*Chapter\s*\d+

    • 再改进一下:
      ^\s*[第卷]\s?[\d一二三四五六七八九十百千〇零两廿卅卌]+\s?[章回部节集卷].*
      ^\s*Chapter\s?[\dⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ]+
      ^\s*Chapter\s?\d+

  5. 请问用这个软件转换期刊格式的话怎么添加多个板块?
    另:转换后为啥标题默认是居中排列?怎么变成两端对齐

  6. 您好,我想问一下,“mobi选项”中“压缩方式”这个功能是干什么的呢?“c0 c1 c2”这3个选项有什么差别吗?“高级”中的“屏幕尺寸”需要自己设定吗?还是可以直接使用默认的540*720,如果需要自己设定尺寸的话应该怎么选择尺寸大小呢?

    • 这三个参数是 KindleGen 的内置参数:c0 表示“不压缩”,c1 表示“标准 DOC 压缩”,c2 表示“Kindle huffdic 压缩”,你可以根据自己的需求选择压缩或者不压缩,至于压缩方式应该没什么大的差别,推荐用 c2。

      “屏幕尺寸”可以根据你的 Kindle 设备型号相对应的屏幕尺寸填写,比如 KPW2 是 768*1024,KPW3/4 是 1072*1448(点击这里查看更多 Kindle 设备屏幕尺寸参数)。不过这个设置一般只作用于电子书内的图片,尺寸越大适配的图片尺寸也就越大。如果你转换的是 TXT,可以忽略这个设置,因为文本内容是流式的,设置尺寸没什么效果。

      • 您好,感首先谢您的解答!我想问一下,将txt转换成mobi的时候,什么情况需要压缩呢?c1 表示“标准 DOC 压缩”,c2 表示“Kindle huffdic 压缩”这2种压缩方式有什么区别呢?什么情况用c1,什么情况c2呢?

        • 推荐在文本内容较多时都使用压缩。两种压缩方式使用了不同的压缩算法,任选其一即可(对于用户来说应该感觉不出差别),想要了解算法原理可以查看 PalmDOCHuffman coding 这两种压缩算法的介绍。

        • 文本较大,用c2压缩得到的mobi文件会小很多,试过一个11M多的txt,c1压缩的mobi文件28M多,c2压缩的文件12M多,但是c2压缩要慢很多。

    • 通过你的描述不好判断问题,建议你把转换前的 TXT 文件和转换后的文件发到书伴的邮箱(页面底部“联系”处获取),以便排查。

  7. 会导致卡索引。要么就是内容太多,要么就是因为目录动不动上千条,一转换就是好几分钟,跳转页面目录都拖不动。

  8. 非常感谢!easypub好用,试过几种txt转epub或mobi的方式,都没成功,用这小工具一次成功。

    • 选择低版本的 KindleGen 如 1.1 或 1.2 应该能实现你要的这种效果。只有新的 KF8 标准才会把每章节分割成独立页面,老的 MOBI7 格式则是把所有内容放在一个页面中。