Sto suggerendo uno strumento da riga di comando qui, che può essere facilmente corretto con loop nei linguaggi di scripting integrati in Windows, Linux, OS X, ecc.
ImageMagick supporta i PDF e ha resize
un'opzione con il suo strumento di conversione . Non l'ho mai usato personalmente, ma puoi provare a giocarci.
Puoi anche usare l' compress
opzione (c'è un esempio qui ):
Ruota un PDF
$ convert -rotate 270 -density 300x300 -compress lzw in.pdf out.pdf
Ciò presuppone un PDF supportato da TIFF. Il parametro di densità è importante perché altrimenti ImageMagick esegue il down-campionamento dell'immagine (per qualche motivo). L'aggiunta dell'opzione di compressione consente di ridurre le dimensioni complessive del PDF, senza perdita di qualità.
Per PDF multipagina, potresti voler utilizzare pdftk
, quindi utilizzare mogrify
da ImageMagick per convertire ogni pagina in atto:
$ pdftk in.pdf burst
$ mogrify -rotate 270 -density 300x300 -compress lzw pg_*.pdf
$ pdftk pg*.pdf cat output out.pdf
$ rm pg*.pdf
Per convertire i file PDF con ImageMagick, è necessario disporre di GhostScript installato.
ImageMagick può convertire PDF multipagina. Durante mogrify
la conversione, ti consiglio di utilizzare in convert
modo da poter conservare gli originali in caso di incidente.
Ho eseguito alcuni test sul PDF di esempio fornito. Questo ha funzionato abbastanza bene per me:
convert -density 200 -compress jpeg -quality 20 test.pdf test2.pdf
La densità predefinita è 72
DPI. Impostandolo più in alto possiamo ottenere una risoluzione più elevata e quindi una qualità accettabile. Sembrava a posto 150
, ed era un po 'più piccolo, ma se vuoi soddisfare una vasta gamma di PDF 200
dovrebbe funzionare.
La compressione JPEG dovrebbe scegliere automaticamente un livello o, di default, 92
su una scala di 1
a 100
con 100
il migliore. Impostandolo su 20
, sembra quasi buono come l'originale (un po 'più sfocato e il piccolo testo in basso è un po' difficile da leggere, ma era comunque originariamente).
Queste opzioni portare il vostro 1.7MB campione fino a 0,5 MB , mantenendo leggibile. Puoi sperimentare un po '.
Se si desidera una dimensione inferiore (sia del file sia dell'immagine / PDF), è possibile utilizzare -resize #%
, ad es -resize 75%
. Nel tuo PDF di esempio, questo rende la piccola stampa in fondo praticamente illeggibile, però.
Se hai ancora poco spazio, specialmente per i PDF multipagina, puoi comprimere ulteriormente aggiungendo i file a un archivio ZIP (o altro). Ciò ha portato la dimensione del file a 0,43 MB su quel PDF di prova (la riduzione della qualità di compressione JPEG ha un effetto molto più drastico). Puoi anche dividere il file PDF in pagine conpdftk
, come suggerito da @glallen nella sua modifica, oppure dividere l'archivio e ricombinarlo dall'altra parte.
2 MB è anche un limite di allegato piuttosto piccolo, potresti voler esaminare altri provider di posta elettronica. Dalla memoria, GMail fornisce oltre 10 MB per e-mail.
Queste e altre opzioni sono completamente documentate sul loro sito Web .