Skip to content
This repository has been archived by the owner on Sep 6, 2022. It is now read-only.

jianyun8023/convert-ebook

Repository files navigation

Convert-ebook

Build Status Build Status

使用python3编写的电子书格式转换工具, 将未加解密的azw3格式无损转换epub,mobi 支持MacOS、Windows、Linux平台。


Update: 很久没更新这个工具了,以后应该也不会更新了。

一个更快,更好的工具 eCore,我常用来批量转换书籍。 https://gist.github.com/jianyun8023/a4b8e9568f896a09e495fb5ff12f1d20

使用的开源工具

使用方式

release页面下载对应您操作系统的包

Windows

  • 直接拖动文件或文件夹到convert-ebook.exe文件上即可执行
  • 命令行下使用 ./convert-ebook.exe 文件或目录

macOS

在终端中输入

chmod +x ./convert-ebook-macos
./convert-ebook-macos '文件或目录'

Linux

同样在终端中输入

chmod +x ./convert-ebook-macos
 ./convert-ebook-linux '文件或目录'

使用源码

# 第一次需要安装依赖
pip install -r requirements.txt
# 运行转换
python ./convert-ebook.py "/doc/ebook/"

请使用python3运行脚本,未做python2的支持

执行脚本后,会扫描该文件或该目录下所有的azw3文件(包括子目录),并执行转换。转换后的文件会写入到azw3所在的目录。如果写入时已经存在同名文件,旧文件会被覆盖掉。 默认同时处理cpu核心数*2个转换任务

参数

positional arguments:
  source                specify file or dir

optional arguments:
  -h, --help            show this help message and exit
  -t THREAD_COUNT, --thread_count THREAD_COUNT
                        specify threadCount,default is cpu_count*2
  -E EPUB_VERSION, --epub_version EPUB_VERSION
                        specify EPUB version to unpack to: 2, 3 or A (for
                        automatic) or F for Force to EPUB2, default is 2

问题

  • 暂不支持epub直接转mobi,kindlegen转epub可能会导致输出的mobi文件中文乱码,暂未找到解决办法 已经找到解决办法,后续增加epub->mobi
  • 暂未支持kindleunpack转换epub配置epub v2、v3、auto等参数已支持

计划支持

  • 支持的转换流程
    • azw3->mobi
    • mobi->epub
    • epub->mobi
  • 通过参数配置输出策略已完成
  • 通过调用calibre-cli进行书库的批量转换,增加
  • calibre插件暂不考虑