PDF de programación - Filtros de impresión con Ghostscript

Imágen de pdf Filtros de impresión con Ghostscript

Filtros de impresión con Ghostscriptgráfica de visualizaciones

Actualizado el 23 de Junio del 2018 (Publicado el 14 de Enero del 2017)
1.024 visualizaciones desde el 14 de Enero del 2017
58,2 KB
11 paginas
Creado hace 20a (26/09/1999)
Filtros de impresión con Ghostscript

A. Gustavo González agonzale@cica.es

26 de Septiembre 1999

En este artículo se introducen los fundamentos para componer filtros de impresión mediante el programa
Ghostscript.

Índice General

1

¿Por qué este documento?

2 Lo primero es lo primero: ¿Por qué necesito Ghostscript para imprimir en linux?

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

. .

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

.

.

.

.

.

. .

.

.

.

.

.

.

.

.

.

.

3 La orden gs y sus opciones

3.1 Entradas a gs

.

.

.

.

.

3.2 Dispositivo de salida .

.

.

.

.

.

.

3.3 Resolución de la impresión .

3.4 Salida a un fichero .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3.5 Escogiendo el tamaño de papel .

. . .

3.6 Otras opciones a considerar .

.

.

.

.

.

. .

.

.

.

.

.

.

.

.

.

.

. .

.

.

. .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

. .

. .

.

4

¿Qué es un filtro de impresión y cómo se construye?

5 Filtros mágicos

5.1 Magicfilter .

5.2 Apsfilter .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

. .

.

.

.

.

.

5.3 Filtros de impresión Red Hat

.

.

. . .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

.

.

6 El controlador uniprint

7

Impresión remota

8 Créditos

9 Anexo: El INSFLUG

1

¿Por qué este documento?

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

. .

. . . . .

.

.

.

.

.

.

.

.

. .

. . . .

. .

. .

.

.

.

.

.

. .

. .

. . .

1

2

2

2

2

3

3

4

4

4

6

6

7

9

9

10

11

11

Hace tiempo leí un mini-Cómo sobre filtros de impresión maquetado por nuestro admirado compañero Ismael Olea
olea@iname.com, extraído de la red Fidonet, y me dejó con la miel en los labios, pues era muy corto. En este
documento, cuyo carácter es fundamentalmente didáctico – pensado para usuarios noveles de linux que ya conocen el
funcionamiento de la impresión por spooling – intento presentar de modo breve y resumido qué es Ghostcript y cómo
usarlo para elaborar filtros de impresión.

2. Lo primero es lo primero: ¿Por qué necesito Ghostscript para imprimir en linux?

2

2 Lo primero es lo primero: ¿Por qué necesito Ghostscript para imprimir

en linux?

Pues porque el formato estándar de los ficheros imprimibles en UNIX es PostScript (PS), pero no todo el mundo
tiene una impresora PS. Ghostscript, escrito por Peter Deutsch, fundador de Aladdin Enterprises, es el intérprete
por excelencia de documentos en formato PS (y también PDF). Ghostscript permite presentar datos PS y PDF en la
pantalla y además traducirlos de manera que puedan ser impresos en una impresora con capacidad gráfica mediante el
uso del controlador de dicha impresora. Como afortunadamente, además, disponemos de herramientas para convertir
otros formatos, tanto de documentos (como TEX, HTML, etc.) como de figuras (como GIF, TIFF, etc.) en PS, basta
con diseñar filtros de impresión combinando el conversor de formato con el programa Ghostscript mediante tuberías
(pipes, |).
Aladdin Enterprises mantiene las nuevas versiones de Ghostscript hasta que alcanzan una cierta edad, y luego las
libera a la Fundación de Software libre (FSF, Free Software Foundation) para que se distribuya como GNU Ghostscript.
Estas versiones son las que se distribuyen libres de cargo en las distribuciones de Linux. La versión Ghostscript
5.1 es de las últimas liberadas y funciona de perlas para la creación de filtros de impresión.

3 La orden gs y sus opciones

El programa Ghostcript se ejecuta a través de la orden gs con diferentes opciones

3.1 Entradas a gs

Además de las opciones a considerar, gs actúa sobre un fichero de entrada en formato PS:

gs [opciones] fichero.ps

Donde fichero.ps es el fichero de entrada, pero uno también puede conectar una entrada por tubería (en el sentido
de to pipe) en Ghostscript utilizando el nombre de fichero especial -, como por ejemplo

{programa convertidor a formato PS} | gs [opciones] -

La presencia del argumento - al final de la línea de órdenes indica a Ghostscript que lea la entrada estándar (STDIN)
desde un fichero o tubería en lugar de desde el teclado. Es la opción de recibo cuando se diseña un filtro de entrada
para imprimir en PS.

El fichero - presenta las siguientes características:

• Cuando Ghostscript termina de leer la tubería, deja de estar en modo interactivo. Por ello, - es útil

únicamente como último argumento de la línea de órdenes.

• - no puede usarse para conectar con una entrada PDF en tubería.

3.2 Dispositivo de salida

Ghostscript dispone de una serie de dispositivos controladores para diversos tipos de impresora. Si invocamos gs -h,
nos aparecerá gran cantidad de información sobre nuestra versión instalada de Ghostscript, entre la que encontraremos
los dispositivos controladores. He aquí el listado correspondiente a dicha orden:

3. La orden gs y sus opciones

3

GNU Ghostscript 5.10 (1998-12-17)
Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
-dNOPAUSE
no pause after page
-g<width>x<height> page size in pixels
-sDEVICE=<devname> select device
-sOutputFile=<file> select output file: - for stdout, |command for pipe,

| -q
| -r<res> pixels/inch resolution
| -dBATCH

All rights reserved.

‘quiet’, fewer messages

exit after last file

Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PDF
Available devices:

embed %d or %ld for page #

x11 x11alpha x11cmyk x11gray2 x11mono lvga256 vgalib t4693d2 t4693d4
t4693d8 tek4696 appledmp ccr lp2563 lbp8 lips3 m8510 necp6 cp50 oce9050
oki182 okiibm r4081 sj48 xes ln03 la50 la70 la75 la75plus sxlcrt deskjet
djet500 laserjet ljetplus ljet2p ljet3 ljet4 declj250 paintjet pjetxl
cdeskjet cdjcolor cdjmono cdj550 cdj500 djet500c dnj650c pj pjxl pjxl300
hpdj uniprint epson eps9mid eps9high epsonc lq850 lp8000 st800 stcolor
ap3250 ibmpro bj10e bj200 bjc600 bjc800 ljet3d lj4dith lj5mono lj5gray
lj250 faxg3 faxg32d faxg4 dfaxhigh dfaxlow pcxmono pcxgray pcx16 pcx256
pcx24b pcxcmyk pbm pbmraw pgm pgmraw pgnm pgnmraw pnm pnmraw ppm ppmraw
pkm pkmraw tiffcrle tiffg3 tiffg32d tiffg4 tifflzw tiffpack cif bmpmono
bmp16 bmp256 bmp16m tiff12nc tiff24nc psmono psgray bit bitrgb bitcmyk
sgirgb pngmono pnggray png16 png256 png16m cgmmono cgm8 cgm24 jpeg
jpeggray miff24 mgrmono mgrgray2 mgrgray4 mgrgray8 mgr4 mgr8 pdfwrite
pswrite epswrite pxlmono pxlcolor nullpage

Search path:

. : /usr/lib/ghostscript/common : /usr/lib/ghostscript/5.10 :
/usr/lib/ghostscript/fonts

For more information, see /usr/doc/gs/use.txt.
Report bugs to ghost@aladdin.com; use the form in bug-form.txt.

Así, si disponemos de una impresora HP Deskjet 550C y vamos a imprimir el fichero.ps, haremos:

gs -sDEVICE=cdj550 fichero.ps

3.3 Resolución de la impresión

Algunas impresoras pueden imprimir a diferentes resoluciones (siendo la menor la que se toma por defecto). Para
seleccionar la resolución horizontal (num1) y vertical (num2) en pixels por pulgada, se utiliza la opción

-rnum1xnum2
-rnum es equivalente a -rnumxnum (cuando num1=num2=num)

3.4 Salida a un fichero

Si seleccionamos una impresora como dispositivo de salida, Ghostscript también permite controlar a dónde envía el
dispositivo su salida. En el sistema DOS, la salida se dirige normalmente a a la impresora (PRN); en UNIX, general-
mente se envía a un fichero temporal para su impresión en cola. Para dirigir la salida a un fichero (fichero.out),
se utiliza la opción

-sOutputFile=fichero.out

4. ¿Qué es un filtro de impresión y cómo se construye?

4

Pero en UNIX, también podemos usar esta opción para enviar la salida a una conexión por tubería, por ejemplo al
servidor de impresión, mediante la orden lpr

-sOutputFile=\|lpr

o enviarlo a la salida estándar (sOutputFile=-) para que, por ejemplo, el demonio lpd tome esos datos de la salida
estándar y los entregue a la impresora. Esta es una de las opciones usadas en la construcción de filtros de impresión.

gs [opciones] -sOutputFile=- -q |...

En este caso es necesario emplear la opción -q (quiet) que evita que el programa Ghostscript escriba mensajes en la
salida estándar y se mezclen con la corriente de salida del dispositivo de impresión.

3.5 Escogiendo el tamaño de papel

Ghostscript se distribuye configurado para usar papel US letter, que es el tamaño de página por defecto, pero
existen otros tamaños que se configuran empleando la instrucción -sPAPERSIZE=opción, como por ejemplo

-sPAPERSIZE=a4
-sPAPERSIZE=legal

3.6 Otras opciones a considerar

En el caso de construcción de filtros de entrada, hay otras opciones interesantes:

• -dSAFER: Evita que actúen los operadores de borrado o renombrado de ficheros, así como la posibilidad de
abrir ficheros en cualquier otro modo que no sea de sólo lectura. Esto es fundamental para el mecanismo de
spooling del demonio de impresión.

• -dNOPAUSE: Deshabilita el prompt y la pausa al final de cada página. Se utiliza para producir salidas de

impresión o para controlar gs desde otro programa.

• @fichero: Hace que gs lea el fichero y trate su contenido como si fueran líneas de órdenes. Las instrucciones

dentro del fichero pueden estar separadas por al menos un espacio en blanco.

4

¿Qué es un filtro de impresión y cómo se construye?

Antes que nada es necesario
  • Links de descarga
http://lwp-l.com/pdf1797

Comentarios de: Filtros de impresión con Ghostscript (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad