2011-11-15 12 views
6

Estoy tratando de usar ghostscript para convertir un archivo .ps a una serie de archivos .png, en gran parte porque no tengo un visor ps tolerable.Ajuste al tamaño de la página en ghostscript (con una entrada posiblemente corrupta)

Esta es la orden que he usado:

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

(el archivo .ps es una posdata de varias páginas).

Las salidas están en parte fuera de la página. Me gustaría que las imágenes quepan dentro de la página.

Puedo incluir archivos de ejemplo, pero son bastante grandes: ¿hay alguna parte en particular del archivo .ps que pueda ser útil?

Mi sospecha es que el archivo .ps está especificando el cuadro delimitador incorrectamente, pero piratear los valores BB no tuvo ningún efecto. El archivo .ps está escrito por IDL (ittvis 'Interactive Data Language). También probé el comando anterior sin los comandos -dEPS * sin suerte.

Respuesta

12

-dEPSCrop y -dEPSFitPage son mutuamente excluyentes:

  • Una cultivos de la EPS a la BoundingBox especificado en los comentarios.
  • El otro amplía el EPS del %%BoundingBox especificado en los comentarios internos del archivo PS para adaptarse al medio actual.

No puede usar ambas cosas a la vez.

El archivo no puede ser un archivo EPS de todos modos, porque no puede tener varias páginas en un archivo EPS. Entonces, ninguno de los interruptores tendrá ningún efecto (como habrás descubierto).

O bien PostScript solicita un tamaño de medio usando setpage o setpagedevice, o simplemente usa lo que sea el medio actualmente configurado. Creo que es solo usar los medios actuales. Intente configurar -sPAPERSIZE=a4 y -sPAPERSIZE=letter.

Si eso funciona, entonces el programa no solicita un tamaño de medio. Si no tiene ningún efecto, configure -dFIXEDMEDIA además, que ignorará las solicitudes posteriores para cambiar el tamaño del medio.

Eso debería permitirle especificar el tamaño de medio correcto, si no sabe cuál debe ser el tamaño del medio, entonces puede usar el dispositivo Ghostscript -sDEVICE=bbox para averiguarlo.

Por último, Ghostscript tiene un dispositivo de visualización rudimentario que puede usar para ver la salida representada sin tener que ir primero a un archivo PNG.

+0

Gracias Ken, no sabía exactamente lo que hacían los comandos EPS. Sin embargo, he intentado tanto papersizes como fixedmedia sin suerte. El visor gs también muestra las figuras parcialmente fuera de la página. – keflavich

+0

Necesitaría ver el archivo para comentar más, pero no puedo ver cómo se puede eludir el interruptor FIXEDMEDIA. Por cierto, debe establecer ambos y configurar primero el PAPERSIZE. ¿Qué versión de Ghostscript estás usando? – KenS

Cuestiones relacionadas