web analytics

[GUIDA]Pdf: come dividere un singolo documento in più file da CLI

pdf

Tramite la command line dei sistemi GNU/Linux o BSD, è possibile eseguire una miriade di operazioni. Grazie a poche linee di codice, inoltre, si possono automatizzare delle operazioni ripetitive che, altrimenti, richiederebbero una gran perdita di tempo. In questo articolo vi mostrerò un utile script, basato su pdftk, che consente di suddividere un singolo PDF in file multipli.

CLI: dividere un file pdf in più file di poche pagine

Come primo passaggio sarà necessario installare pdftk. Questo tool per CLI permette di manipolare i file PDF. Per procedere all’installazione, su Ubuntu è disponibile lo snap tramite questo link, altrimenti basta digitare nel terminale la seguente direttiva:

sudo snap install pdftk

pdftk cli pdf script

Successivamente, create il file pdfsplit.sh, e copiate al suo interno il seguente contenuto. Sarà poi necessario dargli i giusti permessi. Date quindi l’istruzione chmod +x pdfsplit.sh:

number=$(pdfinfo -- "$file" 2> /dev/null | awk '$1 == "Pages:" {print $2}')
​
count=$((($number+$pagesper-1)/$pagesper))
filename=${file%.pdf}
​
counter=0
while [ "$count" -gt "$counter" ]; do
  start=$((counter*pagesper + 1));
  end=$((start + pagesper - 1));
  if [ $end -gt $number ]; then
    end=$number
  fi
​
  counterstring=$(printf %01d "$counter")
  pdftk "$file" cat "${start}-${end}" output "${filename}_${counterstring}.pdf"
  counter=$((counter + 1))
done

Come utilizzare lo script

Per utilizzare lo script, recatevi da terminale nella cartella contenente il file pdf che volete dividere. Utilizzare, poi, la seguente sintassi:

#pagesper: dimensione singoli file pdf risultanti
#file: nome del file contenuto nella cartella, compreso di estensione
pagesper=5 file=file.pdf ./pdfsplit.sh

pdftk cli pdf editor

È possibile anche sfruttare il tool pdftk singolarmente, senza lo script. Se ad esempio si vuole suddividere il file pdf in singoli file da 1 pagina, l’istruzione da eseguire sarà:

pdftk file.pdf burst

Utilissima anche la possibilità di estrarre intervalli specifici dal file originario. Ipotizziamo di essere interessati ad estrarre, da un documento di numerose pagine, un nuovo file PDF contenente solo alcune pagine specifiche:

pdftk A=superbonus_ristrutturazioni.pdf cat A8-12 output interventi_agevolabili.pdf

Per maggiori informazioni su pdftk, vi rimando alla pagina di aiuto integrata, accessibile da CLI tramite l’istruzione pdftk –help.

sharing-caring-1Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.