Guia do Linux/Avançado/Impressão/Magic Filter

Magic Filter

editar

O Magic Filter é um filtro de impressão inteligente. Ele funciona acionado pelo spool de impressão (mais especificamente o arquivo /etc/printcap) e permite identificar e imprimir arquivos de diversos tipos diretamente através do comando lpr arquivo.

É um ótimo programa e ALTAMENTE RECOMENDADO se você deseja apenas clicar no botão imprimir e deixar os programas fazerem o resto :-) A intenção do programa é justamente automatizar os trabalhos de impressão e spool.

A maioria dos programas para ambiente gráfico X11, incluindo o Netscape, Word Perfect, Gimp e Star Office trabalham nativamente com o magicfilter.

Instalação e configuração do Magic Filter

editar

O Magic Filter é encontrado no pacote magicfilter da distribuição Debian e baseadas.

Sua configuração pode ser feita com o programa magicfilterconfig que torna o processo de configuração rápido e fácil para quem não conhece a sintaxe do arquivo /etc/printcap ou não tem muitas exigências sobre a configuração detalhada da impressora.

Após instalar o magicfilter reinicie o daemon de impressão (se estiver usando a Debian, entre no diretório /etc/init.d e como usuário root digite ./lpr restart ou ./lprng restart).

Para testar o funcionamento do magicfilter, digite lpr alphabet.ps e lpr tiger.ps, os arquivos serão enviados para o magicfilter que identificará o arquivo como Pos Script, executará o Ghost Script e retornará o resultado do processamento para o daemon de impressão. O resultado será visto na impressora.

Se tiver problemas, verifique se a configuração feita com o magicfilterconfig está correta. Caso precise re-configurar o magicfilter, digite magicfilterconfig --force (lembre-se que a opção --force substitui qualquer configuração personalizada que tenha adicionado ao arquivo /etc/printcap).

Outros detalhes técnicos sobre o Magic Filter

editar

Durante a configuração do magicfilter, a seguinte linha é adicionada ao arquivo /etc/printcap:


     :if=/etc/magicfilter/epson9-filter

Não tenho nenhum contrato de divulgação com a epson :-) estou usando esta marca de impressora porque é a mais tradicional e facilmente encontrada. A linha que começa com :if no magicfilter identifica um arquivo de filtro de impressão.

O arquivo /etc/magicfilter/epson9-filter é criado usando o formato do magicfilter, e não é difícil entender seu conteúdo e fazer algumas modificações:


     #! /usr/sbin/magicfilter
     #
     # Magic filter setup file for 9-pin Epson (or compatible) printers
     #
     # This file is in the public domain.
     #
     # This file has been automatically adapted to your system.
     #
     # wild guess: native control codes start with ESC
     0       \033            cat

     # PostScript
     0 %! filter /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputFile=- - -c quit
     0 \004%! filter	/usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputFile=- - -c quit

     # PDF
     0 %PDF fpipe /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputFile=- $FILE -c quit

     # TeX DVI
     0 \367\002 fpipe /usr/bin/dvips -X 120  -Y 72  -R -q -f

     # compress'd data
     0 \037\235 pipe	/bin/gzip  -cdq

     # packed, gzipped, frozen and SCO LZH data
     0 \037\036 pipe	/bin/gzip  -cdq
     0 \037\213 pipe	/bin/gzip  -cdq
     0 \037\236 pipe	/bin/gzip  -cdq
     0 \037\240 pipe	/bin/gzip  -cdq

     0 BZh	pipe	/usr/bin/bzip2  -cdq

     # troff documents
     0 .\?\?\040	fpipe 	`/usr/bin/grog  -Tps $FILE`
     0 .\\\"		fpipe 	`/usr/bin/grog  -Tps $FILE`
     0 '\\\"		fpipe 	`/usr/bin/grog  -Tps $FILE`
     0 '.\\\"		fpipe 	`/usr/bin/grog  -Tps $FILE`
     0  \\\"		fpipe 	`/usr/bin/grog  -Tps $FILE`

Você deve ter notado que para cada tipo de arquivo existe o respectivo programa que é executado, basta você modificar as opções usadas nos programas neste arquivo (como faria na linha de comando) para afetar o comportamento da impressão.

Por exemplo, modificando a resolução para -r240x72 no processamento de arquivos Pos Script (gs), a impressora passará a usar esta resolução.