Skip to main content
Working from scratch, following simplicity

Ridurre PDF di grandi dimensioni

Spesso si condividono documenti costituiti da poche pagine ma di dimensioni considerevoli e difficili da archiviare e visualizzare sullo schermo, per lo meno nei vecchi PC o nei lettori di eBook. Sono per lo più formati da immagini con risoluzioni molto elevate che necessitano quindi di essere ridotte e alleggerite. Di seguito mostro come ImageMagick possa facilitare la riduzione di questi PDF in due passaggi.

Nell'articolo Software liberi per modificare i PDF avevo descritto come ottimizzare con Ghostscript (collezione di programmi liberi da riga di comando) i PDF con l'opzione ebook o screen (più riduttiva e penalizzante dal punto di vista della qualità visiva). Qui riporto il comando da usare:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

Dove l'opzione "-dPDFSETTINGS=" può assumere i seguenti valori:
/screen trasforma l'input.pdf in un output.pdf di bassa risoluzione;
/ebook di media risoluzione;
/printer ottimizzato per la stampa;
/prepress ottimizzato per la prestampa;
/default ottimizzato per un utilizzo generico senza badare alla capienza del file di output.

In genere funziona quasi sempre, riducendo notevolmente la loro dimensione e velocizzandone il caricamento. Alcune volte però il risultato non è soddisfacente e bisogna ricorrere alla suite ImageMagick.

ImageMagick

Come descritto su Wikipedia, ImageMagick è una suite di programmi liberi per la creazione, modifica e visualizzazione di immagini bitmap. E' distribuita con una licenza compatibile con la GNU GPL ed è disponibile su tutti i principali sistemi operativi.

Senza entrare troppo nei dettagli riporto solo i comandi che uso in questi casi, mi ero anche proposto di scrivere uno script in bash per velocizzare il tutto, ma le opzioni possono variare caso per caso e allora preferisco di volta in volta adattarli alla bisogna.

Esempio

Non trovando alcun PDF che si prestasse (li ho già tutti ridotti e ho cancellato gli originali) ne ho creato uno ad-hoc, ipotizzando il peggiore caso possibile:
3 pagine in tiff (senza compressione) a colori e a 600 dpi, insomma file da 130 MB l'uno!

Li ho uniti con questo comando di ImageMagick:

convert *.tif -density 600 -set units PixelsPerInch PDF_high.pdf

Ne è uscito un file mostruoso da 490 MB, lento a caricarsi nei lettori PDF e anche difficile da conservare magari nella pennetta usb da 1 GB. In questo caso l'ottimizzazione con Ghostscript (opzione ebook) mi restituisce un PDF da 375 kB con però tutte pagine bianche.

Con ImageMagick

Per convertire in jpeg (ma se si cerca una maggiore qualità è preferibile usare il formato png) tutte le pagine del PDF preservando la densità a 600 dpi uso:

convert -density 600 -set units PixelsPerInch PDF_high.pdf pag_%02d.jpg

Ottenendo 3 file jpg da 1 MB l'uno: pag_00.jpg, pag_01.jpg e pag_02.jpg

Unisco il tutto con:

convert *.jpg -quality 75 -set units PixelsPerInch PDF_jpg.pdf

Se avessi usato il png avrei avuto altre opzioni per la qualità e "-alpha off" per non avere le trasparenze. Il PDF finale occupa 1,1 MB ed è ancora un po' lento nell'aprirsi, si può allora ottimizzarlo con Ghostscript (parametro ebook), ottenendo un file perfettamente leggibile e più veloce nell'aprirsi da 265 kB.

Infine cancello tutte le immagini jpg con:

rm *.jpg

Questa volta vi risparmio i file di esempio, anche perché non ho sufficiente spazio per caricarli sul sito!!

 

 


FONTI:

Add new comment

The content of this field is kept private and will not be shown publicly.

Plain text

  • No HTML tags allowed.
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Add new comment

The content of this field is kept private and will not be shown publicly.

Plain text

  • No HTML tags allowed.
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Sponsored Links
Pubblicità

Nicola Rainiero

A civil geotechnical engineer with the ambition to facilitate own work with free software for a knowledge and collective sharing. Also, I deal with green energy and in particular shallow geothermal energy. I have always been involved in web design and 3D modelling.