Salta al contenuto principale
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:

Aggiungi un commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.

Plain text

  • Nessun tag HTML consentito.
  • Indirizzi web ed indirizzi e-mail diventano automaticamente dei link.
  • Linee e paragrafi vanno a capo automaticamente.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Aggiungi un commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.

Plain text

  • Nessun tag HTML consentito.
  • Indirizzi web ed indirizzi e-mail diventano automaticamente dei link.
  • Linee e paragrafi vanno a capo automaticamente.
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

Ingegnere civile specializzato in geotecnica con l'ambizione di facilitare la propria attività lavorativa usando e creando software libero per un sapere condiviso e collettivo. Mi occupo anche di energie rinnovabili ed in particolare di geotermia a bassa entalpia. Sono da sempre appassionato di web design e modellazione 3D.