Impressao nao fiscal

Delphi

12/08/2009

pessoal estou imprimindo em uma impressora nao fiscal MP 20 MI da bematech ele imprimi certo os os caracteres mas to com um problema na hora q ele ejeta o papel esta ejetando 15 centimetro de papel

eu estou imprimindo os conteudo de um RichEdit dele eu jogo na impressora

gostaria de uma forma de reduzir esse papel do cupom ejetado...

se tiver uma forma para fazer isso to tentandod e todas as formas e nada ainda....


Tchucky

Tchucky

Curtidas 0

Respostas

Steve_narancic

Steve_narancic

12/08/2009

Sei que existe uma parametro, configuração na impressora onde se define o salto da impressora, outra coisa, verifica se não tem linhas em branco no texto do teu richedit


GOSTEI 0
Tchucky

Tchucky

12/08/2009

como eu faço essa verificaçao pq eu tenho um RichEdit qi recebe as informaçoes q mostra um preview de um Cupom Fiscal e esse RichEdit eu crio na hora da impressoa

Nota := TRichEdit.Create(nil);


e não tem como ele ficar em branco...


GOSTEI 0
Tchucky

Tchucky

12/08/2009

nada ainda gente da uma forcinha aqui...


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

12/08/2009

nas impressoras comuns há um comando para definir o tamanho do formulário. não será algo semelhante?


GOSTEI 0
Tchucky

Tchucky

12/08/2009

olha oq eu descobri aqui fiz o teste de impressao até agora com um ou dois item ai ele com 1 item me da 15 cm de diferença com dois item m da 11 cm eu fiz um teste com mais de 5 item o papel sai certinho o problema estao esta cendo q meu RichEdit esta ficando com espaço em branco....

alguem sabe uma forma de eu remover esse espaço em branco...


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

12/08/2009

o problema deve ser a forma como você está ´alimentando´ esse richedit.


GOSTEI 0
Tchucky

Tchucky

12/08/2009

so alimento ele com as informçoes contida no visor esssa é a funçao de impressaoq eu uso...

no teste q eu fiz aqui tudo indica q esta ficando com espeço em branco...

begin
  Nota := TRichEdit.Create(nil);
  Nota.Parent := Self;
  Nota.Visible := False;
  Nota.Font.Name := ´Courier New´;
  Nota.Font.Size := 11;
  dm_titulo := Tdm_titulo.Create(Application);
  try
   with Nota, Lines do
   begin
    Clear;
    Add(Copy(lbl_empresa_nome.Caption,1,48));
    if SerieImprimirDadosEmpresa then
    begin
      Add(AjustaString(Copy(lbl_empresa_cnpj_ie.Caption,1,48),48,´ ´,´D´));
      Add(AjustaString(Copy(lbl_empresa_endereco_numero.Caption,1,48),48,´ ´,´D´));
      Add(AjustaString(Copy(lbl_empresa_bairro_cep.Caption,1,48),48,´ ´,´D´));
      Add(AjustaString(Copy(lbl_empresa_cidade_uf.Caption,1,48),48,´ ´,´D´));
    end;
    Add(AjustaString(´Terminal: ´+prm7+´ - Doc.: ´+prm7+IntToStr(iNumeroDocumento),48,´ ´,´E´));
    Add(AjustaString(´-´,48,´-´,´D´));
    Add(AjustaString(FormatDateTime(´dd/MM/yyyy hh:mm:ss´,Now)+´ Vend.:´+Copy(lbl_vendedor_nome.Caption,1,22),48,´ ´,´D´));
    if s_Consumidor_Nome <> ´´ then
     Add(AjustaString(Copy(s_Consumidor_Nome,1,48) + ´-´ + Copy(s_Consumidor_Cpf,1,18),48,´ ´,´D´));
    if s_Consumidor_Endereco <> ´´ then
    Add(AjustaString(s_Consumidor_Endereco,48,´ ´,´D´));
    Add(´-----------------------------SEM VALOR FISCAL---´);
    Add(AjustaString(´ ´,48,´ ´,´D´));
    if Orcamento then
     Add(JBCentralizaString(´O R Ç A M E N T O´,48))
    else
     Add(JBCentralizaString(prm6,48));

    Add(AjustaString(´Item Codigo  Descricao´,48,´ ´,´D´));
    Add(AjustaString(´Qtd.           Valor R$    xx     Sub-Total´,48,´ ´,´D´));
    Add(redt_ecf.Lines.Text);
    Add(AjustaString(´                     ´,48,´-´,´D´));
    Add(´                     SubTotal: ´+AjustaString(lbl_total.Caption,17,´ ´,´E´));
    Add(´                     Desconto: ´+AjustaString(lbl_desconto.Caption,17,´ ´,´E´));
    Add(´                        Total: ´+AjustaString(lbl_total_pagar.Caption,17,´ ´,´E´));
    Add(AjustaString(´ ´,48,´ ´,´D´));
    Add(JBCentralizaString(´...........::: PARCELAS :::...........´,48));
    Add(AjustaString(s_DescFPag,48,´ ´,´D´));

    {$REGION ´Imprimir parcelas´}
    
    with dm_titulo do
    begin
     cds_titulo.Close;
     sq_titulo.SQL.Strings[29] := ´(T.ID_PESSOA = ´+IntToStr(i_IDPessoa)+´) AND (T.ID_MOVIMENTO = ´+IntToStr(i_IDMovimento)+´)´;
     cds_titulo.Open;// a sintaxe "< 0" acima Abre a tabela de titulos sem vazia;
     if cds_titulo.RecordCount > 0 then
     begin
      Add(AjustaString(´ ´,48,´ ´,´D´));
      Add(AjustaString(´Parc|Vencimento |        Valor|Portador´,48,´ ´,´D´));
      while not cds_titulo.Eof do
      begin
       Add(AjustaString(cds_titulo.Fields[17].AsString,4,´ ´,´D´)+
           ´ ´+FormatDateTime(´dd/MM/yyyy´,cds_titulo.Fields[7].AsDateTime)+
           AjustaString(FormatFloat(´,,0.00´,cds_titulo.Fields[9].AsFloat),15,´ ´,´E´)+
           ´ ´+AjustaString(cds_titulo.Fields[23].AsString,16,´ ´,´D´));
       cds_titulo.Next;
      end;
     end;
     cds_titulo.Close;
    end;                  // desabilitei pois sai duas vezes as pareclas abilitar se papel 1 via...
    {$ENDREGION ´Imprimir parcelas´}

    Add(AjustaString(´ ´,48,´ ´,´D´));

    {$ENDREGION ´Imprimir parcelas´}

    Add(´                     SubTotal: ´+AjustaString(lbl_total.Caption,17,´ ´,´E´));
    Add(´                     Desconto: ´+AjustaString(lbl_desconto.Caption,17,´ ´,´E´));
    Add(´                        Total: ´+AjustaString(lbl_total_pagar.Caption,17,´ ´,´E´));

    Add(AjustaString(´ ´,48,´ ´,´D´));
    Add(JBCentralizaString(´Obrigado e Volte Sempre!´,48));
    Add(AjustaString(´ ´,48,´ ´,´D´));
    Add(AjustaString(´.´,48,´.´,´D´));
    //Imprime
    if prmMp2100ThPorta = 0 then  //mudar a porta de comunicacao 0 = LPT1,1 = COM1,2 = COM2,3 = USB
      Nota.Print(´Comprovante:´+prm7+IntToStr(iNumeroDocumento))
    else
    begin
     Retorno := FormataTX(Text, 2, 0, 0, 0, 0);
     if Retorno = 0 then
      raise
       Exception.Create(´Problemas na impressão do comprovante.´ + #10 + ´Possíveis causas: Impressora desligada, off-line ou sem papel´);
    end;
   end;
  finally
   Clipboard.AsText := Nota.Lines.Text;
   FreeAndNil(Nota);
   FreeAndNil(dm_titulo);
  end;



GOSTEI 0
POSTAR