![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Dudas con Impresion con Canvas
Ya solucionado el problema con Writeln, quisiera saber si se puede cambiar el tipo de letra.
Estoy realizando pruebas con Canvas y me sucede que no me imprime el encabezado, pareciera que me lo imprimiera sobre el mismi sitio, de la factura sino solamente las clausulas. Además no me cambia el tipo de letra siempre me imprime el mismo. No se si se puedea cambiar con writeln, ya que con el si se me imprime bien pero no se si se puede cambiar el tipo y tamaño de la letra. Código:
SetMapMode(Printer.Handle,MM_LOMETRIC);
Printer.BeginDoc; // INICIO UN NUEVO DOCUMENTO
With Printer.canvas do
Begin
Ancho := 600;
Font.Size := 8; //TAMAÑO DE LA LETRA
Font.Name := 'Courier New';
TextOut(30,10,tEmpresa.FieldByName('NOMBRE').AsString);
Longitud := Length(tEmpresa.FieldByName('NIT').AsString);
Centro := (Ancho-Longitud) div 2;
TextOut(CENTRO,90,tEmpresa.FieldByName('NIT').AsString);
Longitud := Length(tEmpresa.FieldByName('DIRECCION').AsString);
Centro := (Ancho-Longitud) div 2;
TextOut(CENTRO,170,tEmpresa.FieldByName('DIRECCION').AsString);
Longitud := Length(tEmpresa.FieldByName('TELEFONO').AsString);
Centro := (Ancho-Longitud) div 2;
TextOut(CENTRO,260,tEmpresa.FieldByName('TELEFONO').AsString);
TextOut(10,350,'Tipo: '+TipoVehiculo+' Placa : '+Placa);
TextOut(10,440,'Entrada : '+FormatDateTime('dd/mm/yyyy hh:mm:ss',tRegistro.FieldByName('FECHAENTRADA').AsDateTime));
Longitud := Length('CLAUSULAS');
Centro := (Ancho-Longitud) div 2;
TextOut(CENTRO,550,'CLAUSULAS');
tEncabezado.Close;
tEncabezado.Filtered := False;
tEncabezado.Filter := 'CODIGO = ''00''';
tEncabezado.Filtered := True;
tEncabezado.Open;
Lineas :=0;
Font.Size := 5; //TAMAÑO DE LA LETRA
Font.Name := 'Small Fonts';
For i:=0 to DBMemo2.Lines.Count-1 do
begin
Cadena := DBMemo2.Lines[i];
TextOut(10,10+(I*80),Cadena);
end;
end;
Printer.EndDoc;
Rogerio |
|
#2
|
||||
|
||||
|
los tipos de letras con las impresoras de tickets son un coñazo, mas que nada por que cada funciona como le da la gana.
Si lo haces con canvas necesitaras tener el driver especifico de esa impresora de tickets instalado y leer el manual a ver qué tipos de fuentes puede sacar. Si lo haces con impresión directa (este es mi método preferido) deberas conocer los caracteres de control para el cambio de tipo de letra (como por ejemplo mandar un #10#19) que tambien vendran en el manual. Me gusta mas el segundo método porque por lo general están mejor documentados y estos caracteres de control suelen ser compatibles entre los distintos modelos de impresoras de la misma casa. la compatibilidad entre distintos modelos a puedes implementar mediante una plantilla de texto y un pagueproducer, escribi hace poco en otro post al respecto
__________________
todo el mundo debe creer en algo... yo creo que voy a tomarme otra copa. |
|
#3
|
|||
|
|||
|
Dudas con Witeln
Gracias por los consejos.
Realmente es la primera vez que utilizo esta forma de impresión y por eso es que tengo tantas dudas, cuando me dices que utilices caracteres especiales para definir la impresion es agregandoselos al momento de escritura los comando y dejandolos como una sarta. Si puedieras regalarme un ejemplo de te lo agradeceria aun mas. La impresora en cuestión es una UNISYS EF4272 y no tiene manuales y los estoy buscando para poder configurar los caracteres especiales, ademas esta instalada como impresora de solo texto, puesto que los drivers no lo consigo y no los tiene el usuario. Gracias nuevamente Rogerio. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|