Fórum Delphi - Impressão em impressora 58mm #613937

29/01/2021

0

Bom dia!

Estou tentando configurar uma impressão utilizando TPrinter, porém queria diminuir o espaçamento entre os campos e não estou conseguindo.

Segue a rotina da impressão caso algm possa me ajudar:


procedure TForm1.Button2Click(Sender: TObject);
begin
PrintForm(Form1);
end;

procedure Tform1.Imprimir;
var
iPrinter: TPrinter;
PrinterY: Integer;
vi: Integer;
begin
iPrinter:= TPrinter.Create;
PrinterY:= 0;
iPrinter.Title:= 'MEUSISTEMA - Cupom';

//Se a impressora estiver imprimindo, espera
While Printer.Printing Do
Sleep(100);

iPrinter.BeginDoc;

for vi := 0 to Memo1.lines.Count-1 do
begin
iPrinter.Canvas.Font.Name:='Courier';
iPrinter.Canvas.Font.Style:=[fsBold];
iPrinter.Canvas.Font.Size:=7;


iPrinter.Canvas.Font.Size:=7;
iPrinter.Canvas.TextOut(0,PrinterY,Memo1.lines.Strings[vi]);
Inc(PrinterY,60);

{ iPrinter.Canvas.Font.Size:=13;
iPrinter.Canvas.TextOut(0,PrinterY,'TESTE'); Inc(PrinterY,30);
iPrinter.Canvas.TextOut(0,PrinterY,'--------------------'); Inc(PrinterY,30);
iPrinter.Canvas.Font.Size:= 7;
iPrinter.Canvas.TextOut(0,PrinterY,'OUTRO TESTE');}
end;

Inc(PrinterY,50);


iPrinter.EndDoc;

iPrinter.Free;
end;

procedure TForm1.PrintForm(frm: TForm);
var
bmp: TBitMap;
x, y, WDPI, HDPI: Integer;
OldColor: TColor;
begin
Screen.Cursor := crHourGlass;
OldColor := frm.Color;
frm.Color := clWhite;
frm.Update;
bmp := frm.GetFormImage;

with Printer do
begin
Orientation := poLandscape;
BeginDoc;
HDPI := PageHeight div 8;
WDPI := PageWidth div 8;
x := PageWidth - Round(WDPI * 0.4); {0.4" margem direita}
y := PageHeight - Round(HDPI * 0.5); {0.5" Altura do rodapé}
Canvas.StretchDraw(Rect(0, 0, x, y), bmp);
EndDoc;
end;

bmp.Free;
frm.Color := OldColor;
Screen.Cursor := crDefault;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Imprimir;
end;

end.
Nomad

Nomad

Responder

Post mais votado

03/02/2021

Procure por RSPrint no github, é open source e vai servir exatamente para o que você esta querendo.

Claudio Andrade

Claudio Andrade
Responder

Gostei + 1

Mais Posts

01/02/2021

Nomad

UP!
Responder

Gostei + 0

03/02/2021

Nomad

UP!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar