有没有办法使用 ebook-convert 将 epub 拆分成章节

有没有办法使用 ebook-convert 将 epub 拆分成章节

我正在寻找一种方法,将一本书作为 epub 文件,并将其分解为一系列较小的 epub 文件,每个章节都是如此?我知道Sigil 和 calibre 的 Epubsplit 插件的其他可用选项,但它们似乎都是通过 GUI 工作的,这使得无法在脚本中对数百或数千个文件运行它们。

有没有办法用 calibre 提供的命令行工具(如 ebook-convert)来做到这一点,这样我就可以调用类似

ebook-convert someBook.epub --splitIntoChapters

并得到类似 chapter1.epub、chapter2.epub、chapter3.epub... 等内容?

答案1

也许是一个旧的 perl 库libebook-tools-perl

man ebook(1p)有一些例子,从中得到启发,像这样的事情可能会起作用:

ebook unpack mybook.pdb my_book
cd my_book
mkdir split
# split document by chapters somehow with sed/awk/perl/python
cd ..
for i in my_book/split/*.xhtml; do
    base=$(basename $i ".xhtml)
    echo "generate $base"
    ebook blank $base.opf --title "My Title" --author "My Name"
    cp $i .
    ebook adddoc $base.xhtml
done

ebook fix
ebook genepub

相关内容