Modificare un file PDF

Come modificare velocemente i file PDF utilizzando alcuni strumenti da terminale.

Questo è un post tecnico di 5 anni fa. Le istruzioni potrebbero non essere più valide.

Adobe_PDF_IconHo a che fare in continuazione con file Acrobat 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.

Immagine di: leo.eloy, Senza titolo, CC by-nc.

Autore: Aldo Latino

Aldo Latino usa con entusiasmo Linux nella distribuzione Ubuntu, è un appassionato di WordPress e si diletta a fare il blogger. Ha anche una lista dei desideri. Per altre informazioni visita la sua .

12 pensieri riguardo “Modificare un file PDF”

  1. Ho notato che nei files PDF dopo ogni riga è come se ci fosse un nuovo paragrafo, e questo, se si vuole convertire in altri formati (nel mio caso epub) è davvero odioso (immaginatevi un libro dove ogni riga e mezzo va a capo a metà frase e lascia uno spazio: dopo una pagina si rischia di collassare!). C’è un modo per eliminare questa caratteristica?Sia con programmi su citati che con Adobe, Grazie mille in anticipo!

    1. Con Adobe Acrobat versione completa puoi esportare il PDF in svariati formati e, se non ricordo male, restituisce un testo corretto (dipende certamente anche dalla complessità dell’impaginato).

      Se non hai il programma citato, puoi operare da Gedit in modo abbastanza semplice. Apri in Gedit il file in formato testo (che avrai ottenuto con copia e incolla o salvando il PDF in formato testo). Avrai certamente linee con una andata a capo (che deve essere eliminata riunendo le righe in un paragrafo unico) e paragrafi con due andate a capo (che devono essere mantenuti). Opereremo tre sostituzioni:

      1) In Gedit apri Cerca > Sostituisci e sostituisci nn con %N%. Abbiamo cambiato la doppia andata a capo con quel simbolo (puoi usarne anche uno diverso).

      2) Sostituisci ora n con nulla, lasciando cioè vuoto il campo “Sostituisci con”. Abbiamo eliminato tutte le andate a capo singole e i paragrafi sono adesso riuniti.

      3) Sostituisci infine %N% con nn. Abbiamo ripristinato la doppia andata a capo e quindi i paragrafi distanziati da due battute di invio.

      Facci sapere se risolvi.

  2. Vi è un insieme di funzioni/comandi per creare degli indici magari utilizzando le funzioni che operano con i metadati?
    Grazie

  3. Interessante! volevo però porre un quesito com’è si può conoscere da un pdf le impostazioni di pagina (margine sx, dx, sup, inf, itestazione e piè di pagina) ed ancora come posso conoscere di una parola (font, dimensione, formato) in ambiente windows.

    1. La prima soluzione che mi viene in mente è quella di importare il file PDF in un programma di impaginazione e misurare lì gli spazi e quant’altro.

  4. Susate tutti, ma se questi comandi si assemblassero in un solo software di trattamento PDF,ogni tasto(con icona),voi pensate sarebbe una cattiva idea ,non
    penso.
    Purtroppo non sono un programmatore,altrimenti lo avrei fatto io, volentieri,non cè
    nessun programmatore di linux disposto a crearlo ?

I commenti sono chiusi