一个功能强大的电子书格式转换工具,支持EPUB、PDF、MOBI、TXT、AZW3、HTML、DJVU、CBZ和CBR格式之间的相互转换。
- 支持多种电子书格式的转换,包括EPUB、PDF、MOBI、TXT、AZW3、HTML、DJVU、CBZ和CBR
- 提供简单直观的Web界面,使用单选按钮组便于选择输出格式
- 同时支持命令行操作
- 可选择性地使用Calibre进行高质量转换
- 完全开源,可自由扩展
- EPUB <-> PDF, MOBI, TXT, AZW3, HTML, DJVU
- PDF <-> EPUB, MOBI, TXT, AZW3, HTML, DJVU
- MOBI <-> EPUB, PDF, TXT, AZW3, HTML
- TXT <-> EPUB, PDF, MOBI, AZW3, HTML
- AZW3 <-> EPUB, PDF, MOBI, TXT, HTML
- HTML <-> EPUB, PDF, MOBI, TXT, AZW3
- DJVU <-> EPUB, PDF
- CBZ/CBR <-> EPUB, PDF
- Rust编译环境 (rustc, cargo)
- (可选) Calibre电子书管理软件,用于提供更高质量的转换
- 克隆仓库
git clone https://github.com/yourusername/book_converter.git
cd book_converter
- 编译项目
cargo build --release
- (可选) 安装Calibre以获取更好的转换效果
- macOS:
brew install --cask calibre
- Linux:
sudo apt-get install calibre
- Windows: 从Calibre官网下载安装程序
- macOS:
- 启动Web服务器
cargo run --bin book_converter -- --web
# 或使用编译好的二进制文件
./target/release/book_converter --web
- 在浏览器中访问 http://localhost:8080
- 上传电子书文件,从单选按钮组中选择目标格式,点击"转换"按钮
- 转换完成后,点击链接下载转换后的文件
默认情况下,Web服务器监听127.0.0.1:8080。可以通过--address
和--port
参数自定义:
cargo run --bin book_converter -- --web --address 0.0.0.0 --port 8888
基本用法:
cargo run --bin book_converter -- -i 输入文件 -o 输出文件
# 或使用编译好的二进制文件
./target/release/book_converter -i 输入文件 -o 输出文件
参数说明:
-i, --input
: 指定输入文件路径(必须)-o, --output
: 指定输出文件路径(必须)-k, --keep-original
: 保留原始文件(默认会删除)-v, --verbose
: 启用详细输出模式--web
: 启动Web服务器--address
: 设置Web服务器地址(默认127.0.0.1)--port
: 设置Web服务器端口(默认8080)
示例:
# EPUB转换为TXT
./target/release/book_converter -i book.epub -o book.txt
# TXT转换为PDF并保留原始文件
./target/release/book_converter -i novel.txt -o novel.pdf -k
./uploads
: 存储通过Web界面上传的文件./converted
: 存储转换后的文件./templates
: 存储Web界面模板./static
: 存储Web界面的静态资源(CSS、JavaScript等)
亚马逊Kindle阅读器的原生格式,相比MOBI提供更丰富的排版功能。
网页格式,方便在浏览器中阅读,支持丰富的样式和交互。
专为扫描文档设计的格式,在保持高质量的同时提供更小的文件大小。
专为漫画和图像集设计的压缩格式,支持高质量图像序列,适合漫画和图像书籍。
主要依赖:
- actix-web: Web服务器框架
- epub: EPUB文件处理
- printpdf: PDF生成
- lopdf: PDF解析
- clap: 命令行参数解析
- serde: 序列化/反序列化
- log/env_logger: 日志系统
欢迎提交Pull Request或Issue来帮助改进这个项目。
MIT