Imprimir arquivo texto via porta LPT1 (comando)

Iniciado por petter, 20 de Julho de 2009, 08:44

tópico anterior - próximo tópico

petter

Quando eu utilizava Windows e precisava mandar para impressão um arquivo texto em uma impressora na porta LPT1 utilizando o DOS eu usava o comando:

print arquivo.txt

E no Linux, é possível fazer isso (estou utilizando o Ubuntu 9.04)?
------------------------------------
Sem assinatura
------------------------------------

Tota

Ola,

Sim, é possivel utilizando-se uma concatenação de comandos no shell.

A idéia é : copie o arquivo < arquivo.txt > para <dispositivo > lpt1

Utilizando então os pipes de redirecionamento teremos



cp texto.txt > lpt1


Voce pode ter mais informações sobre redirecionamento e pipes no Guia Foca Linux


[],s


Xterminator

man lpr
basicamente.

lpr arquivo
ou
cat arquivo1 arquivo2 > lpr

caso tenha mais que uma impressora, existem vários comandos do lpd/cups que podem te ajudar.
por exemplo.

lpr -P impressora arquivo

cat arquivo /dev/lp0 <--este imprime direto na porta LPT1

Bom o tota respondeu enquanto eu estava digitando, mas está aí para consultas futuras.

petter

Citação de: Xterminator online 20 de Julho de 2009, 12:15
man lpr
basicamente.

lpr arquivo
ou
cat arquivo1 arquivo2 > lpr

caso tenha mais que uma impressora, existem vários comandos do lpd/cups que podem te ajudar.
por exemplo.

lpr -P impressora arquivo

cat arquivo /dev/lp0 <--este imprime direto na porta LPT1

Bom o tota respondeu enquanto eu estava digitando, mas está aí para consultas futuras.

Como tenho outras impressoras cadastradas na rede os outros exemplos deram erro ou direcionaram a impressão para a impressora errada, porém o comando para enviar direto para a lpt1
cat arquivo /dev/lp0
(era exatamente isso que eu preciso) dispara o seguinte erro:

cat: /dev/lp0: Erro de entrada/saída


Alguém tem mais alguma dica?
A impressora que estou utilizando não é instalada, por ser uma impressora industrial preciso enviar o arquivo diretamente para a porta que o resto ela resolve.
------------------------------------
Sem assinatura
------------------------------------

Xterminator

Tente com o sudo para testar, provavelmente seu usuário não tem permissão para escrever direto na porta.

Outra coisa,você não citou estes "detalhezinhos que fazem a diferença"
tipo, qual o modelo/marca da impressora?
pois aí neste caso, você poderia ir diretamente na página do CUPS e ver se ela é suportada.
http://www.cups.org/ppd.php

É aquela bendita coisa, se você der azar,e ser uma WINprinter que usa driver SCSI
pois eu sofri bastante tempo com um scanner paraleo, tentei de tudo até um módulo experimental do kernel ppSCSI (Parallell Port SCSI) para ver se funcionava e nada, então boa sorte
pois no meu caso (eu pude, pois não era algo indispensável) eu troquei o Scanner por um Mouse USB e um Teclado com meu irmão acho que saí  no lucro.

petter

Citação de: Xterminator online 20 de Julho de 2009, 13:50
Tente com o sudo para testar, provavelmente seu usuário não tem permissão para escrever direto na porta.

Outra coisa,você não citou estes "detalhezinhos que fazem a diferença"
tipo, qual o modelo/marca da impressora?
pois aí neste caso, você poderia ir diretamente na página do CUPS e ver se ela é suportada.
http://www.cups.org/ppd.php

É aquela bendita coisa, se você der azar,e ser uma WINprinter que usa driver SCSI
pois eu sofri bastante tempo com um scanner paraleo, tentei de tudo até um módulo experimental do kernel ppSCSI (Parallell Port SCSI) para ver se funcionava e nada, então boa sorte
pois no meu caso (eu pude, pois não era algo indispensável) eu troquei o Scanner por um Mouse USB e um Teclado com meu irmão acho que saí  no lucro.

O comando eu tentei com sudo e deu o erro que eu mencionei.
A impressora em questão é uma Zebra TLP2844.
Como é para automação industrial ela não precisa necessariamente de um "driver", a aplicação que desenvolvi monta um arquivo texto contendo comandos ELP (linguagem de controle da impressora) e envio direto para a porta LPT1, a impressora interpreta e imprime o que eu quero.
Sei como mandar no Windows, mas para fins de compatibilidade (eu também só uso Linux, instalar o Windows só para testar isso é soda) queria saber como mandar um arquivo texto direto na LPT1 no Linux.
------------------------------------
Sem assinatura
------------------------------------

Xterminator

#6
Entendi, como te disse dá uma olhada na página do CUPS, já fugiu um pouco de até onde eu entendo de impressoras, pelo que entendi deve ser alterado o arquivo de configuração.
http://www.cups.org/search.php?Q=zebra
http://www.cups.org/documentation.php/doc-1.4/ref-ppdcfile.html#REF_MODEL_LABEL
a sua impressora funciona. só deve estar faltando alguma configuração.

Tota

Citarcat arquivo /dev/lp0

existe um erro de conceito aqui.

Voce não concatenou com um pipe de redirecionamento como citei no inicio.

Experimente=> cat arquivo > /dev/lp0

Voce pode ter mais informações sobre redirecionamento e pipes no Guia Foca Linux