2011-11-15 13 views
6

Sto provando ad usare ghostscript per convertire un file .ps in una serie di file .png, soprattutto perché non ho un ps viewer tollerabile.Adatta alla dimensione della pagina in ghostscript (con un possibile input corrotto)

Questo è il comando che ho usato:

gs -dBATCH -dEPSCrop -dEPSFitPage -sDEVICE=png16m -r300 -dNOPAUSE -sOutputFile=neptune_111115_ob1-2_13pca_boloplots_%d.png neptune_111115_ob1-2_13pca_boloplots.ps 

(il file .ps è un multi-pagina PostScript).

Le uscite sono parzialmente fuori dalla pagina. Mi piacerebbe che le immagini si adattassero alla pagina.

Posso includere file di esempio, ma sono piuttosto grandi - c'è qualche parte particolare del file .ps che sarebbe utile?

Il mio sospetto è che il file .ps stia specificando il rettangolo di selezione in modo errato, ma l'hacking dei valori BB non ha avuto alcun effetto. Il file .ps è scritto da IDL (Interactive Data Language di ittvis). Ho anche provato il comando precedente senza i comandi -dEPS * senza fortuna.

risposta

12

-dEPSCrop e -dEPSFitPage si escludono a vicenda:

  • Uno ritaglia l'EPS al BoundingBox specificato nei commenti.
  • L'altro ridimensiona l'EPS da %%BoundingBox specificato nei commenti interni del file PS per adattarsi al supporto corrente.

Non è possibile utilizzare entrambi contemporaneamente.

Il file non può essere comunque un file EPS, poiché non è possibile avere più pagine in un file EPS. Quindi in realtà nessuno dei due switch avrà alcun effetto (come hai scoperto).

Il PostScript richiede una dimensione del supporto utilizzando setpage o setpagedevice oppure utilizza solo il supporto attualmente impostato. La mia ipotesi è che usi solo i media attuali. Prova a impostare -sPAPERSIZE=a4 e -sPAPERSIZE=letter.

Se funziona, il programma non richiede dimensioni del supporto. Se non ha alcun effetto, imposta anche -dFIXEDMEDIA che ignorerà le successive richieste di modifica della dimensione del supporto.

Questo dovrebbe consentire di specificare la dimensione del supporto corretta, se non si conosce quale dovrebbe essere la dimensione del supporto, è possibile utilizzare il dispositivo Ghostscript -sDEVICE=bbox per scoprirlo.

Infine, Ghostscript ha un dispositivo di visualizzazione rudimentale che è possibile utilizzare per visualizzare l'output renderizzato senza prima accedere a un PNG.

+0

Grazie Ken, non sapeva esattamente cosa facessero i comandi EPS. Tuttavia, ho provato sia paperizes che fixedmedia senza fortuna. Il gs viewer mostra anche le figure parzialmente fuori dalla pagina. – keflavich

+0

Avrei bisogno di vedere il file per commentare ulteriormente, ma non riesco a vedere come possa eludere lo switch FIXEDMEDIA. È necessario impostarli entrambi e impostare innanzitutto PAPERSIZE. Quale versione di Ghostscript stai usando? – KenS

Problemi correlati