Come Modificare File PDF su Linux con Pdftk


modificare file PDFQuante volte vi siete trovati nella condizione di voler modificare file PDF da cui volevate togliere alcune pagine, aggiungerne altre spostarlo oppure semplicemente girarle?

Per tutto questo adesso ci viene in aiuto Pdftk (PDF ToolKit), un potente manipolatore di pdf.
Pdftk un programma sia da linea di comando che da interfaccia grafica.
Andremo ad analizzare la versione da linea di comando, iniziando con l’ installazione del programma nella nostra distribuzione linux.

Apriamo un terminale e digitiamo:

sudo apt install pdftk

Proseguiamo leggendo il manuale:

man pdftk

e la panoramica delle numerose opzioni:

pdftk --help

Si, vi può sembrare tutto molto lungo e noioso ma conoscere bene i comandi e le relative opzioni di un programma che state usando è basilare per effettuare poi delle modifiche corrette ai vostri file PDF, comunque eccovi le principali operazioni che potete effettuare con Pdftk e i comandi per eseguirle.

Unire file PDF

Se avete più file pdf ma volete unirli in un unico file dovete dare questo comando:

pdftk uno.pdf due.pdf tre.pdf quattro.pdf cat output unito.pdf

in questo modo tramite il comando cat, i vari file verranno concatenati in un unico file.

Ordinare i PDF

L’ordine col quale i documenti verranno inseriti nel file finale lo decidete voi, sara’ anche possibile assegnare una lettera (handle) ai vari file:

pdftk A=uno.pdf B=due.pdf C=tre.pdf D=quattro.pdf cat A B C D output unito.pdf

in questo modo cambiare l’ordine sarà semplice, dovremmo solo spostare quelle quattro lettere:

pdftk A=uno.pdf B=due.pdf C=tre.pdf D=quattro.pdf cat C D A B output unito.pdf

Unire singole pagine prese da diversi file PDF

Grazie agli handle possiamo sbizzarrirci e unire i nostri file pdf nell’ordine che preferiamo, anche le singole pagine di ogni file.

Se ad esempio vogliamo che il nostro file finale marche.pdf abbia come prima pagina la terza pagina di ancona.pdf, come seconda pagina la prima pagina di fermo.pdf, come terza quarta e quinta pagina la prima, la seconda e la terza pagina di pesaro.pdf poi come sesta, settima, ottava e nona pagina la seconda, terza, quarta e quinta pagina di ascoli.pdf e infine come decima pagina la terza pagina di fermo.pdf daremo questo comando:

pdftk A=ancona.pdf B=fermo.pdf C=pesaro.pdf D=ascoli.pdf cat A3 B1 C2-3 D2-5 B3 output marche.pdf

Con gli handle possiamo anche agire su un singolo file (anche se per un singolo file non è obbligatorio utilizzare gli handle), per prendere alcune pagine e con queste creare un altro file.

Ecco coma fare, se vogliamo prendere le pagine dalla terza alla ventiduesima del file ascoli.pdf per creare il file storia-di-ascoli.pdf allora diamo questo comando:

pdftk A=ascoli.pdf cat A3-22 output storia-di-ascoli.pdf

Possiamo anche usare varie pagine sparse:

pdftk A=ascoli.pdf cat A2-5 A9 A23 A 35 output ascoli-in-breve.pdf

in questo caso il nuovo file avrà solo otto pagine, dalla prima alla quarta sarà composto delle pagine 2, 3, 4 e 5 del file originale.
Per la quinta pagina viene usata la pagina 9 del file originale e cosi via.

Se vogliamo usare le pagine dalla trentesima fino all’ultima (che è ad esempio la novantesima) del file fermo.pdf per creare un nuovo file abbiamo due sistemi:

 pdftk A=fermo.pdf cat A30-90 output un-pezzo-di-fermo.pdf

oppure:

 pdftk A=fermo.pdf cat A30-end output un-pezzo-di-fermo.pdf

Ora vediamo come ruotare alcune pagine di un documento (o anche tutte se volete).
Mettiamo il caso che il file macerata.pdf abbia nove pagine (dalla 10 alla 19) che contengono delle foto che per motivi di grandezza sono state messe nel file originale ruotate di 90 gradi.

Lo facciamo con questo comando:

pdftk A=macerata.pdf cat A1-9 A10-19E A20-50 output macerata-dritta.pdf

perfetto, ora le pagine dalla 10 alla 19 sono state ruotate di 90 gradi (E).
La rotazione è stata eseguita in senso orario, se la rotazione necessaria fosse stata in senso antiorario allora avremmo dovuto sostituire la E con la W:

pdftk A=urbino.pdf cat A1-9 A10-19W A20-50 output urbino-dritta.pdf

e se avessimo voluto fare una rotazione di 180 gradi (a testa in giù) allora avremmo dovuto sostituire E con S:

pdftk A=ancona.pdf cat A1-9 A10-19S A20-50 output ancona-dritta.pdf

Queste tre opzioni (E, W e S) mantengono inalterate le dimensioni della pagina, se nella rotazione vogliamo che le dimensioni della pagina si adattino di conseguenza dobbiamo dare questi comandi: L al posto di E, R al posto di W e D al posto di S.

Sarebbe più corretto dire che R e L ruotano il foglio di 90° (rispettivamente in senso orario e antiorario, o se preferite R in senso orario di 90° e L sempre in senso orario, ma di 270°), S posiziona il foglio verticale ma invertito (a testa in giù), E posiziona il foglio in orizzontale, W posiziona il foglio in orizzontale ma invertito. Poi c’e’ N che posiziona il foglio in verticale.

Se notate L=left (sinistra), R=right (destra), N=nord, S=sud, W=west (ovest) e E=est.
È dunque tutto molto intuitivo.

Se vogliamo creare tanti file PDF (uno per ogni pagina) quante sono le pagine del PDF originale il comando da dare è questo:

pdftk fermo.pdf burst output fermo_%03d.pdf

i cui file saranno fermo_001.pdffermo_002.pdffermo_003.pdf, ecc.
Per una numerazione a due cifre il comando è questo:

pdftk fermo.pdf burst output fermo_%02d.pdf

i cui file saranno fermo_01.pdffermo_02.pdffermo_03.pdf, ecc.

Se vogliamo creare un file pdf contenente solo le pagine dispari (odd) del file originale, il comando da dare sarà:

pdftk macerata.pdf cat 1-35odd output macerata-dispari.pdf

se invece volessimo solo le pagine pari (even) allora:

pdftk pesaro.pdf cat 1-35even output pesaro-pari.pdf

Se vogliamo cifrare i nostri file pdf più segreti dobbiamo dare questo comando:

pdftk mio-file-segreto.pdf output mio-file-segreto-cifrato.pdf user_pw provaps

Verrà dunque cifrato usando provaps come password.
Per decifrarlo basta scrivere:

pdftk mio-file-segreto-cifrato.pdf input_pw provaps output mio-file-segreto-decifrato.pdf

Per altre opzioni, altre manipolazioni ed usi (ad esempio potete richiamare pdftk in uno script per poterlo utilizzare) potete consultare il manuale.


Lascia un Commento!