Problemas com comprovante writeln impressora injeta muita folha.

Delphi

21/03/2012

Boa noite galera.

To com um problema aqui que não consigo resolver.
Eu tenho esse codigo abaixo para imprimir direto na porta da impressora bematech não fiscal.

var 
 Handle: TextFile; 
begin 
  inherited; 
if edtDinheiro.Text <>0,00 then 
begin 
if PrintDialog1.Execute then 
  AssignFile(Handle,LPT1); 
  Rewrite(Handle); 
    Writeln(Handle,); 
    Writeln(Handle,              Empresa xxxxxxxx); 
    Writeln(Handle,                (00)0000-0000); 
    Writeln(Handle,); 
    Writeln(Handle,                 COMPROVANTE); 
    Writeln(Handle,                  sem valor fiscal  ); 
    Writeln(Handle,); 
    Writeln(Handle, Data.:  + DateToStr(date) +  +Hora.:  + TimeToStr(Time)); 
    Writeln(Handle,-----------------------------------------------); 
    Writeln(Handle, Produto); 
    Writeln(Handle, Código    Quant.    Pr. Unit.    Pr. Total); 
    Writeln(Handle,-----------------------------------------------); 
    Writeln(Handle,); 
    frmVendas.cdsItems.First; 
While not frmVendas.cdsItems.Eof do 
begin 
    Writeln(Handle, frmVendas.cdsItemsDescricao.Text); 
    Writeln(Handle, frmVendas.cdsItemsCodigo.Text); 
    Writeln(Handle,            ,frmVendas.cdsItemsQuantidade.Text+X         + frmVendas.cdsItemsPreco.Text +         ,frmVendas.cdsItemsValorTotal.Text); 
    frmVendas.cdsItems.Next; 
end; 
    Writeln(Handle,-----------------------------------------------); 
    Writeln(Handle,SubTotal.: +                       +R$+ +frmVendas.cdsItemsSubTotal.Text); 
    Writeln(Handle,+DM.cdsItensFORMAPAGAMENTO.Text); 
    Writeln(Handle,Parcelas.:+  +1); 
    Writeln(Handle,Cliente.:+  +DM.cdsItensCLIENTE.Text); 
    Writeln(Handle,Vendedor.:+ +DM.cdsItensVENDEDOR.Text); 
    Writeln(Handle,); 
    Writeln(Handle,-----------------------------------------------); 
    Writeln(Handle,); 
    Writeln(Handle,); 
    Writeln(Handle,); 
    Writeln(Handle, ___________________________________________              ); 
    Writeln(Handle,                Assinatura                                ); 
    Writeln(Handle,); 
    Writeln(Handle,); 
    Writeln(Handle,          OBRIGADO PELA PREFERENCIA                        ); 
    Writeln(Handle,); 
    Writeln(Handle,); 
    Writeln(Handle,#12); 
    CloseFile(Handle); 
end; 
end;


Ela imprimi normalmente o problema é que ela esta injetando muita folha, ela injeta uma folha maior que uma folha A4.
Fiz algumas configurações na impressora e mandei imprimir uma página de teste ela injeta a folha do tamanho que eu configurei, mais quando mando imprimir pelo sistema ela injeta muita folha.
Se alguém puder me ajuda ficarei grato.
Jalves

Jalves

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

21/03/2012

Qual o modelo da impressora? Há pouco tempo utilizei uma bematech não fiscal, mas imprimi utilizando as funções dela, fornecidas pelo fabricante.
GOSTEI 0
Jalves

Jalves

21/03/2012

É uma MP20-MI.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

21/03/2012

Teste salvar o conteúdo de um cupom em um arquivo .txt e o envie para a impressora com o comando COPY ARQUIVO LPT1 no prompt.
GOSTEI 0
Jalves

Jalves

21/03/2012

Consegui resolver removendo essa linha
Writeln(Handle,#12);

E adicionei algumas linhas em branco.
Agora tá ok.
Valeu pela força.
GOSTEI 0
POSTAR