PDA

Ver la Versión Completa : Impresion de Ticket


steelha
22-08-2013, 18:42:01
Hola he visto varios ejemplo de como imprimir directo a la impresora sin la necesidad de un generador de reporte, pero del tema no se mucho: lo que deseo es imprimir un ticket en una Matricial/Térmica epson papel continuo puede ser cualquiera de la dos. El formato es el siguiente:

Nombre Empresa

Ticket Número


1

Nota el numero del ticke debera ser en un tamaño un poco grande, segun hice en word lo que se amorda a lo que deseo es Time New Roman, Titulo (11), Ticket numero (16), Numero (72).

Intente modificar este código para lograr algo parecido e imprime tan pequeño que solo con una lupa puedo ver excepto el numero, favor explicar la razon. Quiero enteder el porque no solo la solucion

procedure TGenerador.Imprimir_Tickets(Estacion, Numero: Integer);
var
i,x,y: Integer;
s: string;
begin
with TPrinter.Create do
try
i:= 1;
BeginDoc;
x := Printer.PageWidth div 15;
y := Printer.PageHeight div 50;
Canvas.Font.Color:= clBlack;
// Canvas.Font.Height:= Printer.PageHeight div 60; // Aumentar tamaño del font
Canvas.Font.Height:= 11; // Aumentar tamaño del font
s:= 'CENTRO MEDICO XXXXXXXXXX';
Canvas.TextOut((Printer.PageWidth-Canvas.TextWidth(s)) div 2, i*y, s ); // Título centrado
Inc(i);
Canvas.Font.Height:= 16; // Aumentar tamaño del font
s:= 'TICKET NUMERO ';
Canvas.TextOut((Printer.PageWidth-Canvas.TextWidth(s)) div 2, i*y, s ); // Título centrado
Inc(i);
Canvas.Font.Height:= 72; // Aumentar tamaño del font
s:= Trim(edtNumeroGenerado.Text);
Canvas.TextOut((Printer.PageWidth-Canvas.TextWidth(s)) div 2, i*y, s ); // Título centrado
Inc(i);
Canvas.TextOut(0,200,'g'); // cortar ticket
EndDoc;
finally
Free;
end;

ecfisa
22-08-2013, 21:17:31
Hola steelha.

Es que cuando intentas cambiar el tamaño del font estas usando la propiedad Height:

...
Canvas.Font.Height := 16;
...

Cuando deberías usar la propiedad Size:

...
Canvas.Font.Size := 16;
...


Saludos. :)

steelha
23-08-2013, 14:24:18
Gracias ecfisa, :) nunca habia utilizado canvas :)