xHarbour X DOSPRINTER

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

xHarbour X DOSPRINTER

Mensagem por Mário Isa »

O princípio do DOSPRINTER é pegar um arquivo TEXTo com os comandos da impressora EPSON e enviá-lo à impressora cadastrada no windows.

Seja o comando

comanda := "DOSPRINT /SEL TLTERM1.TXT"
run (comanda)

Surgirá a tela do DOSPRINTER pedindo que selecione a impressora e então a impressão é feita.

Em xHarbour, tendo eu o TLTERM1.TXT, já com os comandos de compactação dentro dele, é possível imprimir para uma impressora Windows ?

Mário
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Dê uma pesquisada no fórum sobre a classe Win32Prn. Há vário exemplos de uso. Acho que deve resolver seu problema a contento.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: xHarbour X DOSPRINTER

Mensagem por sygecom »

Mário Isa escreveu:Em xHarbour, tendo eu o TLTERM1.TXT, já com os comandos de compactação dentro dele, é possível imprimir para uma impressora Windows ?
pode usar a função:

Código: Selecionar todos

PrintFileRaw( "NOME_DA_IMPRESSORA","MEU_ARQUIVO.TXT","Nome da Impressão no Spool" )
Para pegar o nome da impressora padrão do Windows pode usar:

Código: Selecionar todos

GetDefaultPrinter()
ou Pode Selecionar alguma impressora instalada no windows pegando o retorno de:

Código: Selecionar todos

GetPrinters(.t.)
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Re: xHarbour X DOSPRINTER

Mensagem por Mário Isa »

fiz o teste / tendo o arquivo TLTERM1.TXT / enviei para a impressora utilizando o comando
PrintFileRaw( "NOME_DA_IMPRESSORA","MEU_ARQUIVO.TXT","Nome da Impressão no Spool" )
anexei o arquivo TLTERM1.TXT aqui /
ele contém comandos de compactação:

Mas não saiu compactado / saiu como se imprimisse um arquivo sem formação /

alguem conhece alguma função que considere os caracteres de compactação ?

Mário
Anexos
tlterm1.txt
(6.51 KiB) Baixado 183 vezes
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: xHarbour X DOSPRINTER

Mensagem por alaminojunior »

Mario, a função seria essa mesma: PrintFileRaw()
Pois a classe win32prn iria ignorar qualquer caracter de formatação.
Eu uso essa função para imprimir pedidos numa bobina de 89mm de uma auto peças, e funciona.
No exemplo em anexo, eu utilizo caracteres de expansão, mas já usei o de compactação e garanto que funciona.
Detalhe: a impressora é Epson LX300. Numa HP Jato de tinta, não funciona, os caracteres são impressos.
Anexos
re.txt
(1.4 KiB) Baixado 198 vezes
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Re: xHarbour X DOSPRINTER

Mensagem por Mário Isa »

sendo assim , creio que o melhor para mim , ainda é o DOSPRINTER / pois preciso poder imprimir em qualquer impressora / seja USB / laserjet / inkjet / matricial / via windows /

pelo DOS eu já utilizo os @ say e sai bem.

Obrigado.
Mário
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: xHarbour X DOSPRINTER

Mensagem por sygecom »

Mario,
Nesse caso seria o ideal você fazer sua propria rotina de impressão usando a WIN32PRN, já tratando os comandos CHR que vc usa. Um exemplo foi o que um colega postou e esta no link abaixo:
viewtopic.php?f=4&t=8903

Tem o outro exemplo do Everaldo, só procurar pelo forum que acha.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder