rre*_*aud 5 pdf software-recommendation
我有几本书是 PDF 格式的,我想将它们按章节拆分,以便在手机上阅读。是否有任何工具(或工具序列)可以让我轻松地将本书按章节拆分为不同的 PDF 文件?
这很难自动完成,因为PDF 文件中没有标准的章节标签。但是,如果您不介意一些手动工作,请记下每章的页面,并使用pdftk选择页面并将其保存为新的pdf文件。例如,如果第 2 章是第 23-45 页,请执行
pdftk A=input.pdf cat A23-45 output chapter_2.pdf
Run Code Online (Sandbox Code Playgroud)
您需要先安装pdftk:
sudo apt-get install pdftk
Run Code Online (Sandbox Code Playgroud)
您也可以直接使用 ghostscript(预装):
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dFirstPage=23 -dLastPage=45 -sOutputFile=chapter_2.pdf input.pdf
Run Code Online (Sandbox Code Playgroud)
这很容易转换半自动运行的脚本。首先,创建一个输入文件;在每一行上,放置所需的输出 pdf 文件标题、起始页、结束页——就像这样:
chapter1 1 23
chapter2 24 56
Run Code Online (Sandbox Code Playgroud)
使用文本编辑器将其保存到文件pdfchaps.in.
现在,创建一个脚本——将以下内容保存到一个名为 的文件中pdfchaps.sh:
#!/bin/bash
function pdfextr() {
echo "Chapter $2"
pdftk A=$1 cat A$3-$4 output $2.pdf
}
chapters=$1
pdffile=$2
echo "Splitting pdf file $pdffile by chapters from $chapters"
cat $chapters | while read line ; do pdfextr $pdffile $line ; done
Run Code Online (Sandbox Code Playgroud)
使脚本可执行:
chmod a+x pdfchaps.sh
Run Code Online (Sandbox Code Playgroud)
并运行它:
pdfchaps chaps.in mybook.pdf
Run Code Online (Sandbox Code Playgroud)