Isso seria difícil de fazer automaticamente, já que não há nenhum rótulo de capítulo padrão em um arquivo PDF. No entanto, se você não se importar com algum trabalho manual, anote as páginas de cada capítulo e use pdftk
para selecionar as páginas e salvá-las em um novo arquivo pdf. Por exemplo, se o capítulo 2 for as páginas 23-45, faça
pdftk A=input.pdf cat A23-45 output chapter_2.pdf
Você precisa instalar o pdftk primeiro:
sudo apt-get install pdftk
Você também pode usar o ghostscript (que vem pré-instalado) diretamente:
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dFirstPage=23 -dLastPage=45 -sOutputFile=chapter_2.pdf input.pdf
Isso é muito fácil de converter um script que executa coisas semi-automaticamente. Primeiro, crie um arquivo de entrada; em cada linha, coloque o título desejado do arquivo pdf, a página inicial, a página final - assim:
chapter1 1 23
chapter2 24 56
Salve isso, usando um editor de texto, para arquivar pdfchaps.in
.
Agora, crie um script - salve o seguinte em um arquivo chamado pdfchaps.sh
:
#!/bin/bash
function pdfextr() {
echo "Chapter "
pdftk A= cat A- output .pdf
}
chapters=
pdffile=
echo "Splitting pdf file $pdffile by chapters from $chapters"
cat $chapters | while read line ; do pdfextr $pdffile $line ; done
Torne o script executável:
chmod a+x pdfchaps.sh
E execute:
pdfchaps chaps.in mybook.pdf