Come comprimere i pdf con pdftk e gs

Capita spesso di trovarsi a dover inviare dei file pdf di dimensioni a volte spropositate e di non avere a disposizione molta banda in upload o spazio FTP sufficiente a contenere tali file. Nella maggior parte dei casi si ha solo bisogno di leggere un pdf e non avere necessità di qualità elevatissime. In tali occasioni basta semplicemente munirsi degli strumenti giusti e con due righe di codice possiamo comprimere il nostro file in maniera notevolissima.

pdflogo Come comprimere i pdf con pdftk e gs

Prima di tutto ci serve avere installato pdftk, un programma dalle moltissime funzioni che troverete nella maggior parte dei repository delle varie distribuzioni. Oltre a questo programma serve anche Ghostscript (che da linea di comando richiamate con gs); questo si trova quasi sempre già presente nel sistema.

La prima operazione è convertire in ps il file di origine per ricavarne un file molto grande ma che comprimeremo con pdftk e poi di nuovo con gs.

pdf2ps originale.pdf file_enorme.ps
ps2pdf file_enorme.ps prima_compressione.pdf

The ps2pdf scripts are work-alikes for nearly all the functionality (but not the user interface) of Adobe’s Acrobat(TM) Distiller(TM) product: they convert PostScript files to Portable Document Format (PDF)
files.

If the output filename is not specified, the output is placed is a file of the same name with a ’.pdf’ extension. Either the input filename or the output filename can be ’-’ to request reading from stdin or
writing to stdout, respectively, when used as a filter.

The three scripts differ as follows:

– ps2pdf12 will always produce PDF 1.2 output (Acrobat 3-and-later compatible).

– ps2pdf13 will always produce PDF 1.3 output (Acrobat 4-and-later compatible).

ps2pdf per se currently produces PDF 1.4 output. However, this may change in the future. If you care about the compatibility level of the output, use ps2pdf12 or ps2pdf13, or use the -dCompatibil-
ity=1.x switch in the command line.

Il file di partenza su cui ho testato questo primo step era di 18.1 MB che, dopo la riconversione con ps2pdf, pesava solo 5.7 MB. Fatto ciò ho ricompresso nuovamente il file, ma utilizzando direttamente gs con questo comando:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/screen -sOutputFile=seconda_compressione.pdf prima_compressione.pdf

Il parametro di nostro interesse nella riconversione è -dPDFSETTINGS che ha queste possibili opzioni:

-dPDFSETTINGS=/screen (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook (low quality, 150 dpi images)
-dPDFSETTINGS=/printer (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default (almost identical to /screen)

La lista completa delle possibili opzioni la trovate qui: http://milan.kupcevic.net/ghostscript-ps-pdf/

Alla fine delle operazioni fin qui esposte il file pdf di 18 MB è stato compresso a 4.3 MB.

Via: Compressione di file pdf

tags Tags:
categorieCategorie: Linux

Forge Of Empires Italia

One Response to “Come comprimere i pdf con pdftk e gs”

  1. balesio AG (@balesio) on febbraio 7th, 2012 21:40

    Per chi apprezza convenienza, qualità e facilità d’uso, c’è da noi, la balesio AG in Svizzera, la ns. soluzione FILEminimizer PDF che è fatto a posto per questo scopo. Utilizzando la tecnica di ottimizzazione nativa, riduce la dimensione dei file PDF da 40-75% pur mantenendo tutta la qualità visiva.
    Più info si trovano sul nostro sito http://www.balesio.com/fileminimizerpdf