È possibile conoscere le impostazioni dettagliate "delegati" di ImageMagick (programmi esterni usi IM, come Ghostscript) digitando
convert -list delegate
(Sul mio sistema che è un elenco di 32 differenti comandi). Ora per vedere quali comandi sono utilizzati per convertire in PNG, utilizzare questo:
convert -list delegate | findstr /i png
Ok, questo era per Windows. Non hai detto quale sistema operativo utilizzi. [*] Se siete su Linux, provate questo:
convert -list delegate | grep -i png
Scoprirete che IM non produce PNG solo dal PS o EPS di ingresso. In che modo IM ottiene (E) PS dal tuo PDF? Facile:
convert -list delegate | findstr /i PDF
convert -list delegate | grep -i PDF
Ah! Usa Ghostscript per fare una conversione PDF => PS, quindi usa di nuovo Ghostscript per creare una conversione PS => PNG. Funziona, ma non è il modo più efficiente se sai che Ghostscript può fare PDF => PNG in uno go. E più veloce. E con una qualità molto migliore.
Informazioni sulla gestione di IM di conversione PDF per le immagini tramite il delegato Ghostscript si deve sapere due cose prima di tutto:
- Per impostazione predefinita, se non si danno un parametro in più, Ghostscript immagini di uscita con una risoluzione di 72 dpi. Ecco perché la risposta di Karl ha suggerito di aggiungere
-density 600
che dice a Ghostscript di usare una risoluzione di 600 dpi per l'output dell'immagine.
- La deviazione di IM per chiamare Ghostscript due volte per convertire il primo
PDF => PS
e quindi PS => PNG
è un vero errore. Perché tu mai vinci e harldy mantieni la qualità nel primo passaggio, ma molto spesso perdi un po '. Motivi:
- PDF in grado di gestire i lucidi, che PostScript non può.
- PDF può incorporare tipi di carattere TrueType, che Ghostscript non può. etc.pp. La conversione nella direzione
PS => PDF
non è così importante ....)
Ecco perché io suggerirei a convertire i file PDF in una sola volta in PNG (o JPEG) utilizzando direttamente Ghostscript. E usa lo most recent version 8.71 (presto rilasciato: 9,01) di Ghostscript! Qui ci sono i comandi di esempio:
gswin32c.exe^
-sDEVICE=pngalpha^
-o output/page_%03d.png^
-r600^
d:/path/to/your/input.pdf
(. Questa è la riga di comando per Windows su Linux, utilizzare gs
invece di gswin32c.exe
, e \
invece di ^
.) Questo comando si aspetta di trovare una output
sottodirectory dove memorizzerà un separato file per ogni pagina PDF. Per produrre JPEG di buona qualità, prova
gs \
-sDEVICE=jpeg \
-o output/page_%03d.jpeg \
-r600 \
-dJPEGQ=95 \
/path/to/your/input.pdf
(versione comando Linux). Questa conversione diretta evita il formato PostScript intermedio, che potrebbe aver perso il carattere TrueType e le informazioni dell'oggetto trasparenza presenti nel file PDF originale.
[*] D'oh! Mi mancava di vedere il tag "linux" in un primo momento ...