Ver Mensaje Individual
  #15  
Antiguo 31-10-2016
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Reputación: 18
anubis Va por buen camino
Perfecto amigos. Gracias.

Deje las dos partes:

Código Delphi [-]
procedure tfventas.imprimelinea;
const
  margin_left = 1;
  margin_top=70;

var
 i: Integer;
 MiMapadeBits : TBitMap;

begin

  MiMapadeBits := TBitMap.Create;
  { Creamos el objeto MiMapadeBits }
  MiMapadeBits.Width := PAGE.Width;   { Definimos su anchura }
  MiMapadeBits.Height := page.Height; { Definimos su altura }
  page.BorderStyle:=bsNone; { Definimos el estilo del borde a ninguno }
  page.PaintTo(MIMAPADEBITS.Canvas, 0, 0);
  page.BorderStyle:=bsSingle;
   with printer do
  try
  rawmode:=false;
    BeginDoc;
    Canvas.Font.Name := 'COURIER NEW';
    CANVAS.FONT.Style:=[FSbOLD];
    Canvas.Font.Size := 6;
    Canvas.Font.Color := clBlack;
    Canvas.CopyRect(Classes.Rect(1, 0, 365, 60),
    MiMapadeBits.Canvas, Classes.Rect(0, 0, MIMAPADEBITS.Width, mIMAPADEBITS.Height));
    for i := 0 to IMPRIMIR_ticket.Count - 1 do
     begin
    Canvas.TextOut(
      MARGIN_LEFT,
      MARGIN_TOP + i*printer.Canvas.TextHeight(imprimir_ticket.Strings[i]),
      imprimir_ticket.Strings[i]);
     end;
  finally
    EndDoc;
    mimapadebits.Free;
 with Printer do
  begin
    PRINTER.PrinterIndex := 0;
    RawMode := True;
  BeginDoc;
       printstring(#27+#112+#0+#25+#250+lineending);  //ABRE CAJON
      EndDoc;
  end;           
   end;
end;

En el primer BeginDoc, imprime el logo y el ticket, y en el segundo ya me abre el cajon. No hay tiempo de espera, asi que es transparente para el usuario.

Gracias.
Responder Con Cita