Skip to content

电子书格式转换工具,支持PDF、EPUB、MOBI等格式之间的转换

Notifications You must be signed in to change notification settings

pskishere/book-converter

Repository files navigation

电子书格式转换工具

一个功能强大的电子书格式转换工具,支持EPUB、PDF、MOBI、TXT、AZW3、HTML、DJVU、CBZ和CBR格式之间的相互转换。

封面图片 版本 Rust

功能特点

  • 支持多种电子书格式的转换,包括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电子书管理软件,用于提供更高质量的转换

步骤

  1. 克隆仓库
git clone https://github.com/yourusername/book_converter.git
cd book_converter
  1. 编译项目
cargo build --release
  1. (可选) 安装Calibre以获取更好的转换效果
    • macOS: brew install --cask calibre
    • Linux: sudo apt-get install calibre
    • Windows: 从Calibre官网下载安装程序

使用方法

Web界面

  1. 启动Web服务器
cargo run --bin book_converter -- --web
# 或使用编译好的二进制文件
./target/release/book_converter --web
  1. 在浏览器中访问 http://localhost:8080
  2. 上传电子书文件,从单选按钮组中选择目标格式,点击"转换"按钮
  3. 转换完成后,点击链接下载转换后的文件

默认情况下,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等)

新增格式说明

AZW3

亚马逊Kindle阅读器的原生格式,相比MOBI提供更丰富的排版功能。

HTML

网页格式,方便在浏览器中阅读,支持丰富的样式和交互。

DJVU

专为扫描文档设计的格式,在保持高质量的同时提供更小的文件大小。

CBZ/CBR

专为漫画和图像集设计的压缩格式,支持高质量图像序列,适合漫画和图像书籍。

依赖项

主要依赖:

  • actix-web: Web服务器框架
  • epub: EPUB文件处理
  • printpdf: PDF生成
  • lopdf: PDF解析
  • clap: 命令行参数解析
  • serde: 序列化/反序列化
  • log/env_logger: 日志系统

贡献

欢迎提交Pull Request或Issue来帮助改进这个项目。

许可证

MIT

About

电子书格式转换工具,支持PDF、EPUB、MOBI等格式之间的转换

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published