Página seguinte Página anterior Índice geral
Algumas distribuições do Linux têm um subsistema de impressão egoísta que não respeita os arquivos PJL gerados pelo KLJetTool; ele tenta transformá-los usando filtros. Isto fará o KLJetTool funcionar mal.
Esta seção descreve os passos necessários para fazer o KLJetTool trabalhar sob versões do RedHat anteriores à 5.0. (O KLJetTool deve funcionar sem qualquer alteração em distribuições baseadas em RedHat Linux 5.0 ou maior). Eu acredito que passos similares devem ser necessários em outros sistemas. No entanto, as tarefas que precisam ser executadas não são difíceis. Tudo que precisa ser feito é ter certeza que o subsistema de impressão manda arquivos PJL para a impressora sem qualquer modificação.
Um sistema RedHat não reconhece a priori o formato PJL, e tenta fazer coisas feias com ele ao invés de mandá-lo direto para impressora; então precisamos ensiná-lo como lidar com o formato PJL. No entanto, antes que você faça as mudanças sugeridas aqui, teste se o KLJetTool realmente não funciona em seu sistema. Se funcionar, não há o que alterar.
Acredito que outras distribuições que usem subsistemas de impressão 'sofisticados' como o do RedHat devam ter problemas semelhantes.
Num sistema RedHat, o script
/var/spool/lpd/lp/filter
é invocado de
/etc/printcap
,
a cada vez que algo é impresso via o comando lpr
. O filtro aciona o
programa file
que analisa o arquivo a ser impresso, e file
dirá
ao script filter
que tipo de documento é aquelo.
Então, dependendo do tipo de documento, o programa certo é chamado para
produzir saída num formato que a impressora pode entender. O programa
file
usa o programa
/etc/magic
para determinar o tipo de documento a ser impresso (exemplos: Postscript,
dvi, texto, etc.)
Por exemplo, se eu imprimo um documento postscript, arquivo.ps
, o
utilitário file
diz ao script filter
que estamos lidando
com um arquivo Postscript, e filter
acionará o Ghostscript
para converter arquivo.ps
para PCL 5, uma linguagem que a
minha LaserJet entende, antes de mandá-lo para a impressora.
Infelizmente um sistema RedHat não reconhece arquivos PJL e tenta fazer a coisa errada com eles ao invés de mandá-lo direto para a impressora.
Para fazer o KLJetTool funcionar em um sistema RedHat, precisamos fazer apenas duas coisas:
/etc/magic
de modo que o
programa file
reconheça corretamente um arquivo PJL como tal:
# HP Printer Job Language, Bernd Wuebben (wuebben@math.cornell.edu)
0 string \033%-12345X HP PJL printer commands
*pjl* )
startpnt="INPUT-to-prdata";;
Se você der uma olhada no script de filtro, ficará claro onde adicionar
as linhas (mais ou menos na linha 220 da versão 1 que eu tenho). Estas
linhas instruem ao script deixar em paz os arquivos PJL e mandá-los
direto para a impresssora.Eu incluí uma cópia de meu script de filtragem, bem como meu arquivo
/etc/magic
. Você pode usá-los se tiver problemas ao tentar
realizar as modificações sugeridas mais acima. Você deve ser capaz
de encontrá-los no mesmo diretório em que você encontrou a documentação
do KLJetTool.
Eu adoraria receber instruções sobre o que precisa ser feito para que o KLJetTool funcione em outros sistemas que usem subsistemas elaborados de filtragem de impressão.
Página seguinte Página anterior Índice geral