Fórum Impressão de boletos... #298699
07/10/2005
0
Já tentei configurar o tamanho do papel nas configurações da impressora mas o XP não deixa(é uma Ep. LX-300). Estou usando o TPrinter para imprimir. Estou mandando o código Também.
Desde já agradeço!!! :D
O código, só estou passando a parte de impressão:
//INÍCIO DA IMPRESSÃO IMPRESSÃO
Printer;
CONTCLI := SpinEdit1.VALUE;
PRINTER.TiTLE := ´ESM - BOLETOS´;
printer.begindoc;
PRINTER.Canvas.Font.Size := 10;
LINHA := 0;
IMPRESSAO := 0;
ACRESCIMO := 0;
CONT := 0;
DECRESCIMO := 0;
WHILE CONTCLI <= SpinEdit2.VALUE DO
BEGIN
IF DM.TbCliente.FindKey([CONTCLI]) THEN
BEGIN
if cancelar = true then
printer.Abort;
LINHA := LINHA + 40+ IMPRESSAO - DECRESCIMO;
PRINTER.CANVAS.TextOut(40,LINHA, ´QUALQUER LOCAL ATÉ O VENCIMENTO´);
PRINTER.CANVAS.TextOut(700,LINHA, DATETOSTR(DM.TbClienteDAT_VENC.VALUE));
LINHA := LINHA + 68;
PRINTER.CANVAS.TextOut(45,LINHA, DATETOSTR(NOW));
//Verificando Nota
IF DM.TbClienteNOTA.VALUE > 0 THEN
PRINTER.CANVAS.TextOut(300,LINHA, INTTOSTR(DM.TbClienteNOTA.VALUE));
LINHA := LINHA + 35;
PRINTER.CANVAS.TextOut(700,LINHA, CURRTOSTR(DM.TbClienteValor_Boleto.VALUE + DM.TbClienteUltima_Alteracao.VALUE));
LINHA := LINHA + 35;
//Verificando Desconto
if DM.TbClienteDESCONTO.VALUE > 0 then
PRINTER.CANVAS.TextOut(700,LINHA, FloatToStr(DM.TbClienteDESCONTO.VALUE));
LINHA := LINHA - 8 + ACRESCIMO;
PRINTER.CANVAS.TextOut(40,LINHA, ´APÓS O VENCIMENTO COBRAR MULTA DE 2¬ MAIS´);
LINHA := LINHA + 26;
PRINTER.CANVAS.TextOut(40,LINHA, ´JUROS DE 0,20¬ AO DIA´);
LINHA := LINHA + 150;
PRINTER.CANVAS.TextOut(40,LINHA, (DM.TbClienteNom_cliente.Value + ´ ´+ DM.TbClienteNUM_DOC.value));
LINHA := LINHA + 30;
PRINTER.CANVAS.TextOut(40,LINHA, (DM.TbClienteEnd_Cliente.VALUE));
LINHA := LINHA + 117;
PRINTER.CANVAS.TextOut(40,LINHA, ´´);
IMPRESSAO := IMPRESSAO + 75;
CONTCLI := CONTCLI +1;
ACRESCIMO := 10;
CONT := CONT + 1;
if cont >= 3 then
begin
LINHA := 0;
IMPRESSAO := 0;
ACRESCIMO := 0;
CONT := 0;
DECRESCIMO := 0;
end;
IF CONT >= 2 THEN
BEGIN
DECRESCIMO := 78;
END;
END ELSE
BEGIN
CONTCLI := CONTCLI +1;
END;
END;
IMPRESSAO := 0;
printer.enddoc;
Celolegal
Curtir tópico
+ 0Posts
07/10/2005
Aroldo Zanela
Procure por RLBoleto aqui mesmo no fórum ou no Google. Me parece a melhor solução hoje para isso.
Gostei + 0
07/10/2005
Macario
Que tal vc tentar Write e WriteLn (impressão DOS), acho que teria um controle melhor, ao menos sobre as linhas.
:roll:
Gostei + 0
07/10/2005
Celolegal
Eu ja tentei mas a minha impressora esta em rede.. dai complica...
se tiver algum exemplo?!
valew :o
Gostei + 0
11/02/2006
Pro-luck
Será q vc pode me mandar um exemplo de como utilizá-los. Estou precisando muito de cobnhecimento sobre esses dois comandos...
Antecipadamente agradeço...
Gostei + 0
11/02/2006
Edilcimar
http://forum.clubedelphi.net/viewtopic.php?t=70693
é só fazer a adaptação para o caso, mas não esqueça que as vezes existe um espaço em ´branco´ entre o fim do último boleto e o início do outro (pois normalmente são 3 boletos por página)
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)