PDA

Ver la Versión Completa : Imprimir ticket con una Epson TM U220D


mtirado
12-01-2008, 18:42:02
Hola nuevamente. Anteriormente escribi un tema relacionado con el tamaño de impresion, lo hago nuevamente para ser mas explicito.
Lo que deseo hacer es imprimir un comprobante con una impresora del tipo Epson TM U220D, el comprobante debe tener un tamaño especifico, es decir, e 75 mm por 75 mm.
Lo que tengo actualmente es imprimir directamente por el canvas, pero no se como ajustar las dimensiones para que coincidan con la hoja de dicha impresora. Lo que tengo me imprime bien pero para una impresora comun y corriente, pero cuando lo hago con una de este tipo, se forma el rollo!
Por favor si alguien me puede ayudar y decirme que debo haver.
Actualmente lo que hago es esto:
Printer.BeginDoc;
Printer.Canvas.TextOut(90, 90, LbComprobanteTexto.Caption);
...
Printer.EndDoc;

Por favor si alguien me ayudara, lo agradecere muchisimo.

droguerman
12-01-2008, 23:38:46
has pensado usar fast reports o uno similar, yo lo he usado para impresoras de ese tipo y va bastante bien

CrazySoft
13-01-2008, 00:05:42
Puedes probar con codigos de escape para imprimir directamente, casi de la misma forma que la estas haciendo y adicionalmete te permite el corte de papel

var Impresora : TextFile;
Begin
assignFile(Impresora, 'LPT1'); //Asigna el puerto a la variable "Impresora"
//'LPT1' indica el puerto al que se conecta la impresora,
//ej.: 'COM1', 'COM2'
rewrite(Impresora); //apertura del archivo, creacion
//Los siguientes son comandos ESC. ESC o escape es el caracter #27
//Comando para cambiar tipo de letra: ESC ! n
Write(Impresora, #27);//ESC
Writeln(Impresora, 'COMPROBANTE');//Texto a imprimir
Writeln(Impresora, '123456789012345678901234567890');
Writeln(Impresora, '111111111111111111111111111111');
Writeln(Impresora, 'abcdefghijklmnopqrstuvxyzABCDE...');
Writeln(Impresora, '______________________________');
Writeln(Impresora, '------------------------------');
Write(Impresora, #27+'i');// m= corte parcial, en teoria i= corte total
CloseFile(Impresora); //cerrar el archivo
end;

bueno espero que te sirva