Ho a che fare in continuazione con file PDF e loro modifica. Mi trovo benissimo nel compiere queste operazioni via terminale, anche perché mi sbrigo prima. Mi annoto anche qui queste operazioni e le condivido con voi.
Ovviamente esistono alternative che fanno uso di strumenti grafici, come PDF Mod, PDF Chain, PDF Shuffler, PDF Split and Merge (pdfsam).
I pacchetti usati in questo post sono: ghostscript, pdftk, poppler-utils, che vanno installati se non li avete già.
Manipolazione del PDF
Unire più PDF in uno solo
pdftk input_A.pdf input_B.pdf input_C.pdf cat output output.pdf
Unire tutti i PDF di una directory in uno solo
pdftk *.pdf cat output output.pdf
Dividere un unico file PDF in tanti file PDF quante sono le sue pagine
pdftk input.pdf burst
Estrarre da PDF alcune pagine
pdftk input.pdf cat 10-20 output output.pdf
Estrarre da PDF alcune pagine non consecutive
Col seguente comando estraiamo le pagine 3, dalla 10 alla 20, 25, 28, 32, dalla 45 alla fine:
pdftk input.pdf cat 3 10-20 25 28 32 45-end output output.pdf
Ruotare un PDF di 90° a destra (clockwise)
Col seguente comando ruotiamo tutte le pagine (dalla prima alla fine) verso Est:
pdftk input.pdf cat 1-endE output output.pdf
Ruotare un PDF di 90° a sinistra (counter-clockwise)
pdftk input.pdf cat 1-endW output output.pdf
Ruotare un PDF di 180°
pdftk input.pdf cat 1-endS output output.pdf
Convertire un PS in PDF
ps2pdf -dPDFSETTINGS=/screen input.ps output.pdf
dove screen può essere:
• screen (72 dpi)
• ebook (150 dpi)
• printer (300 dpi)
• prepress (300 dpi)
Convertire un PDF in PS
pdf2ps input.pdf output.ps
Ridurre le dimensioni di un PDF
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
Modificare i metadati di un PDF
Estraiamo prima le informazioni esistenti in un file di testo:
pdftk input.pdf dump_data output info.txt
Modifichiamo le informazioni e reimportiamole in un nuovo PDF con:
pdftk input.pdf update_info info.txt output output.pdf
Un esempio di elenco di metadati:
InfoKey: Title InfoValue: Titolo del PDF InfoKey: Subject InfoValue: Soggetto del PDF InfoKey: Keywords InfoValue: Parole, Chiave, Del, PDF InfoKey: Author InfoValue: Autore del PDF
PDF e immagini
Convertire un PDF in PNG
convert -density 300 input.pdf output.png
Tutte le pagine saranno convertite in immagine. I file immagine risultanti avranno questo nome:
output-0.png --> Pagina 1 output-1.png --> Pagina 2 ecc.
La stessa conversione può essere effettuata con pdftoppm, un componente di poppler-utils.
Convertire un PDF in PNG specificando le dimensioni di uscita
convert -scale 940 input.pdf output.png
Convertire un PDF in PNG specificando la risoluzione di uscita
convert -density 300 input.pdf output.png
Estrarre da PDF una pagina e convertirla in PNG
convert input.pdf[0] output.png
0 sta per pagina 1, 1 per pagina 2 e così via.
Anche in questo comando si possono usare le opzioni -scale e -density.
Estrarre da un PDF più pagine non consecutive e convertirle in PNG
convert -density 300 -scale 940 input.pdf[0,2,6,11,16,21,26,33,38] output.png
Convertire un PDF in un PDF immagine (rasterizzare il PDF)
convert -density 300 input.pdf output.pdf
Convertire più PNG in PDF (A4 verticale)
convert -adjoin -page 210x297 *.png output.pdf
Convertire più PNG in PDF (A4 orizzontale)
convert -adjoin -page 297x210 *.png output.pdf
Estrarre immagini dal PDF
È consigliabile crearsi prima una directory (ad esempio pdf_images) dove far confluire tutte le immagini e poi dare:
pdfimages input.pdf pdf_images/
Man mano che mi serviranno altri comandi, li aggiungerò in questo post.
Mitico Aldo, proprio nel momento in cui ne ho bisogno.
Grazie mille.
Sono molto contento che ti sia servito!
Pingback: Modificare i file PDF in tutti i modi possibili « Il blog di Andrea Lazzarotto