[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: magicfilterconfig --force para una Stylus Color 200



Roberto Leon Lopez escribe:
 >      No consigo configurar en condiciones mi Stylus color 200, de los 
 > filtro que me muestra filterconfig no se cual es el adecuado, hay 
 > algunos que se acercan.

Desacte de magicfilter (opcional).

Este filtro te servirá, create el directorio epson /var/spool/lpd/, y
dale los permisos adecuados:

chmod 775 epson
chown root.lp epson

copia el filtro en el directorio epson, llamalo filtro.

chmod 775 filtro
chown root.lp filtro


*************************** filtro ********************************************
#!/bin/sh
#
# Filtro general de impresión.
#


#
# INICIO DE OPCIONES
#

# Generales
if [ -f /etc/papersize ]; then
  PAPEL=`cat /etc/papersize`
else
  PAPEL="a4"
fi

# Para Ghostscript
INTERFASE_GS=stcolor # Tipo de impresora (Driver)
RESOLUCION=360x360
OPCIONES_GS="-dupOutputFormat=/EscP2 -dUnidirectional"

# Para mpage
MARGEN_IZQ=30 #(Left)
MARGEN_DER=30 #(Right)
MARGEN_SUP=35 #(Top)
MARGEN_INF=30 #(Botom)

#
# FIN DE OPCIONES
#


#
# Filtraje
#

tipo_datos=`echo $(file -) | tr 'A-Z' 'a-z'`
/var/spool/lpd/epson/inicio

# Tipo de compresión
 case $tipo_datos in  
  *gzip* )  
    com_desc="gzip -dc";;
  *bzip2* )
    com_desc="bzip2 -dc";;
  * )
    com_desc="" ;;
 esac

if [ ! -z "$com_desc" ]; then
  tipo_datos=`$com_desc - | file - | tr 'A-Z' 'a-z'`
  comando_final="$com_desc | "
fi

/var/spool/lpd/epson/inicio

# Comando para imprimir en PostScript
comando_gs="gs -q -sDEVICE=$INTERFASE_GS \
                  -r$RESOLUCION \
                  -sPAPERSIZE=$PAPEL \
                  -dNOPAUSE \
                  -dSAFER \
                  $OPCIONES_GS \
                  -sOutputFile=- -"

# Actuamos en función del tipo de datos de entrada
case $tipo_datos in
  *postscript* )
     com_tipo=$comando_gs ;;

  *dvi* )    
     com_tipo="/usr/bin/dvips -D 360 -R -q -f | $comando_gs" ;;

  *pdf* )
     com_tipo="pdf2ps /dev/stdin /dev/stdout | $comando_gs" ;;

  *ascii*|*text*|*script* )
    # Es texto plano
    # Lo imprimimos en PostScript
     com_tipo="mpage -b $PAPEL -o -1 -m${MARGEN_IZQ}l \
                                          -m${MARGEN_DER}r \
                                          -m${MARGEN_SUP}t \
                                          -m${MARGEN_INF}b | $comando_gs" ;;

  * )
     echo "No impreso, tipo desconocido." 
     exit 1 ;;
esac

comando_final=$comando_final$com_tipo

eval $comando_final 2> /dev/null

#printf "\014"

exit 0
*************************** Fin filtro ****************************************


Compila el siguiente archivo

gcc inicio.c -o inicio


********************** inicio.c ***********************************************
#include <stdio.h>

int main()
{
  lseek(0, 0L, SEEK_SET);
}
********************* Fin inicio.c ********************************************


y copia el ejecutable resultante en /var/spool/lpd/epson/, dándole los
permisos 

chmod 755 inicio
chown root.lp inicio

Escribe la línea 

if=/var/spool/lpd/epson/filtro

en tu fichero /etc/printcap para usar el filtro

/etc/init.d/lpd restart

y listo

Feliz Navidad.

-- 
agr@lab.inf.uc3m.es
agr1@arrakis.es



Reply to: