Impressão

>> terça-feira, 9 de dezembro de 2008

Guia Foca GNU/Linux

Capítulo 13 - Impressão



Este capitulo descreve como imprimir em seu sistema GNU/Linux e as formas de impressão via spool, rede, gráfica, etc.



Antes de seguir os passos descritos neste capítulo, tenha certeza que seu kernel foi compilado com o suporte a impressora paralela ativado, caso contrário até mesmo a impressão direta para a porta de impressora falhará. .

13.1 Portas de impressora



Uma porta de impressora é o local do sistema usado para se comunicar com a impressora. Em sistemas GNU/Linux, a porta de impressora é identificada como lp0, lp1, lp2 no diretório /dev, correspondendo respectivamente a LPT1, LPT2 e LPT3 no DOS e Windows. Recomendo que o suporte a porta paralela esteja compilado como módulo no kernel.

13.2 Imprimindo diretamente para a porta de impressora



Isto é feito direcionando a saída ou o texto com > diretamente para a porta de impressora no diretório /dev.



Supondo que você quer imprimir o texto contido do arquivo trabalho.txt e a porta de impressora em seu sistema é /dev/lp0, você pode usar os seguintes comandos:



* cat trabalho.txt >/dev/lp0 - Direciona a saída do comando cat para a impressora.

* cat /dev/lp0. Faz a mesma coisa que o acima.

* cat -n trabalho.txt >/dev/lp0 - Numera as linhas durante a impressão.

* head -n 30 trabalho.txt >/dev/lp0 - Imprime as 30 linhas iniciais do arquivo.

* cat trabalho.txt|tee /dev/lp0 - Mostra o conteúdo do cat na tela e envia também para a impressora.



Os métodos acima servem somente para imprimir em modo texto (letras, números e caracteres semi-gráficos).

13.3 Imprimindo via spool



A impressão via spool tem por objetivo liberar logo o programa do serviço de impressão deixando um outro programa especifico tomar conta. Este programa é chamado de daemon de impressão, normalmente é o lpr ou o lprng (recomendado) em sistemas GNU/Linux.



Logo após receber o arquivo que será impresso, o programa de spool gera um arquivo temporário (normalmente localizado em /var/spool/lpd) que será colocado em fila para a impressão (um trabalho será impresso após o outro, em seqüência). O arquivo temporário gerado pelo programa de spool é apagado logo após concluir a impressão.



Antes de se imprimir qualquer coisa usando os daemons de impressão, é preciso configurar os parâmetros de sua impressora no arquivo /etc/printcap. Um arquivo /etc/printcap para uma impressora local padrão se parece com o seguinte:



lp|Impressora compatível com Linux

:lp=/dev/lp0

:sd=/var/spool/lpd/lp

:af=/var/log/lp-acct

:lf=/var/log/lp-errs

:pl#66

:pw#80

:pc#150

:mx#0

:sh



É possível também compartilhar a impressora para a impressão em sistemas remotos, isto será visto em uma seção separada neste guia.



Usando os exemplos anteriores da seção Imprimindo diretamente para uma porta de impressora, vamos acelerar as coisas:



* cat trabalho.txt |lpr - Direciona a saída do comando cat para o programa de spool lpr.

* cat
* cat -n trabalho.txt |lpr - Numera as linhas durante a impressão.

* head -n 30 trabalho.txt |lpr - Imprime as 30 linhas iniciais do arquivo.



A fila de impressão pode ser controlada com os comandos:



* lpq - Mostra os trabalhos de impressão atuais

* lprm - Remove um trabalho de impressão



Ou usado o programa de administração lpc para gerenciar a fila de impressão (veja a página de manual do lpc ou digite ? ao iniciar o programa para detalhes).

13.4 Impressão em modo gráfico



A impressão em modo gráfico requer que conheça a marca e modelo de sua impressora e os métodos usados para imprimir seus documentos. Este guia abordará somente a segunda recomendação :-)

13.4.1 Ghost Script



O método mais usados pelos aplicativos do GNU/Linux para a impressão de gráficos do Ghost Script. O Ghost Script (chamado de gs) é um interpretador do formato Pos Script (arquivos .ps) e pode enviar o resultado de processamento tanto para a tela como impressora. Ele está disponível para diversas plataformas e sistema operacionais além do GNU/Linux, inclusive o DOS, Windows, OS/2, etc.



O formato .ps esta se tornando uma padronização para a impressão de gráficos em GNU/Linux devido a boa qualidade da impressão, liberdade de configuração, gerenciamento de impressão feito pelo gs e por ser um formato universal, compatíveis com outros sistemas operacionais.



Para imprimir um documento via Ghost Script, você precisará do pacote gs, gsfonts (para a distribuição Debian e distribuições baseadas, ou outros de acordo com sua distribuição Linux) e suas dependências. A distribuição Debian vem com vários exemplos Pos Script no diretório /usr/share/doc/gs/example que são úteis para o aprendizado e testes com o Ghost Script.



Hora da diversão:



* Copie os arquivos tiger.ps.gz e alphabet.ps.gz do diretório /usr/share/doc/gs/examples (sistemas Debian) para /tmp e descompacte-os com o comando gzip -d tiger.ps.gz e gzip -d alphabet.ps.gz. Se a sua distribuição não possui arquivos de exemplo ou você não encontra nenhuma referência de onde se localizam, mande um e-mail que os envio os 2 arquivos acima (são 32Kb).

* O Ghost Script requer um monitor EGA, VGA ou superior para a visualização dos seus arquivos (não tenho certeza se ele funciona com monitores CGA ou Hércules Monocromático) .



Para visualizar os arquivos na tela digite:



gs tiger.ps

gs alphabet.ps



Para sair do Ghost Script pressione CTRL+C. Neste ponto você deve ter visto um desenho de um tigre e (talvez) letras do alfabeto.



Se o comando gs alphabet.ps mostrou somente uma tela em branco, você se esqueceu de instalar as fontes do Ghost Script (estão localizadas no pacote gsfonts na distribuição Debian).

* Para imprimir o arquivo alphabet.ps use o comando:



gs -q -dSAFER -dNOPAUSE -sDEVICE=epson -r240x72 -sPAPERSIZE=legal -sOutputFile=/dev/lp0

alphabet.ps



O arquivo alphabet.ps deve ser impresso. Caso aparecerem mensagens como Error: /invalidfont in findfont no lugar das letras, você se esqueceu de instalar ou configurar as fontes do Ghost Script. Instale o pacote de fontes (gsfonts na Debian) ou verifique a documentação sobre como configurar as fontes.



Cada uma das opções acima descrevem o seguinte:

o -q, -dQUIET - Não mostra mensagens de inicialização do Ghost Script.

o -dSAFER - É uma opção para ambientes seguros, pois desativa a operação de mudança de nome e deleção de arquivo e permite somente a abertura dos arquivos no modo somente leitura.

o -dNOPAUSE - Desativa a pausa no final de cada página processada.

o -sDEVICE=dispositivo - Dispositivo que receberá a saída do Ghost Script. Neste local pode ser especificada a marca o modelo de sua impressora ou um formato de arquivo diferente (como pcxmono, bmp256) para que o arquivo .ps seja convertido para o formato designado.



Para detalhes sobre os dispositivos disponíveis em seu Ghost Script, digite gs --help|less ou veja a página de manual. Normalmente os nomes de impressoras e modelos são concatenados, por exemplo, bjc600 para a impressora Canon BJC 600, epson para impressoras padrão epson, stcolor para Epson Stylus color, etc.



O Hardware-HOWTO contém referências sobre hardware suportados pelo GNU/Linux, tal como impressoras e sua leitura pode ser útil.

o -rx - Define a resolução de impressão (em dpi) Horizontal e Vertical. Os valores dependem de sua impressora.

o -sPAPERSIZE=tamanho - Tamanho do papel. Podem ser usados a4, legal, letter, etc. Veja a página de manual do gs para ver os outros tipos suportados e suas medidas.

o -sOutputFile=dispositivo - Dispositivo que receberá a saída de processamento do gs. Você pode especificar

+ arquivo.epson - Nome do arquivo que receberá todo o resultado do processamento. O arquivo.epson terá toda a impressão codificada no formato entendido por impressoras epson e poderá ser impresso com o comando cat arquivo.epson >/dev/lp0.



Uma curiosidade útil: É possível imprimir este arquivo em outros sistemas operacionais, tal como o DOS digitando: copy /b arquivo.eps prn (lembre-se que o DOS tem um limite de 8 letras no nome do arquivo e 3 na extensão. Você deve estar compreendendo a flexibilidade que o GNU/Linux e suas ferramentas permitem, isso é só o começo.

+ impressao%d.epson - Nome do arquivo que receberá o resultado do processamento. Cada página será gravada em arquivos separados como impressao1.epson, impressao2.epson.



Os arquivos podem ser impressos usando os mesmos métodos acima.

+ /dev/lp0 para uma impressora em /dev/lp0

+ - para redirecionar a saída de processamento do gs para a saída padrão. É útil para usar o gs com pipes |.

+ \|lpr - Envia a saída do Ghost Script para o daemon de impressão. O objetivo é deixar a impressão mais rápida.



Se você é curioso ou não esta satisfeito com as opções mostradas acima, veja a página de manual do gs.



13.5 Magic Filter



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.

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



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).

13.5.2 Outros detalhes técnicos sobre o Magic Filter



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.

[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ próximo ]



Guia Foca GNU/Linux





0 comentários:

Postar um comentário

observação: este blog só aceitara comentarios relacionados ao post ou perguntas sérias, então se for usar qualquer tipo de palavriado, então pense bem antes de comentar.

Coba Widget

Blogger Template by ardi33.
Art Maker 1 Edited by ardi33's Template