fb2epub
Cli tool for convering fb2 books to epub. Written in pure rust.
Installation
With cargo:
cargo install fb2epub --features=bin-deps
Or download binary files here.
Flags
-i, --input path - input books or directories or zip archive with books
-o, --output path - output path. If input is one book - can be directory or file name, else - only directory
--styles path/to/file.css - use custom css styles
-r, --recursive - search books as well in subdirectories
-m, --multithreading - use multithreading (useful if you need to convert many books)
--replace - REMOVE input files
Usage as library
Add to your project with:
cargo add fb2epub
Then use function run:
use std::path::PathBuf;
fn main() {
let input_book = PathBuf::from("some_book.fb2");
let output_book = PathBuf::from("out_book.epub");
let replace = false;
let suspend_error_messages = false;
let styles = Some(PathBuf::from("some/styles.css"));
fb2epub::run(
&input_book,
&output_book,
replace,
styles.as_deref(),
suspend_error_messages
).unwrap();
let input_archive = PathBuf::from("some_book.zip");
let output_archive = PathBuf::from("out_archive.epub");
fb2epub::run(
&input_archive,
&output_archive,
replace,
styles.as_deref(),
suspend_error_messages
).unwrap();
let zip_with_many_books = PathBuf::from("zip_with_books.zip");
let output_dir = PathBuf::from("some_dir");
fb2epub::run(
&zip_with_many_books,
&output_dir,
replace,
styles.as_deref(),
suspend_error_messages
).unwrap();
}