Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-01-2018
Avatar de darkbits
darkbits darkbits is offline
Miembro
 
Registrado: may 2006
Posts: 280
Poder: 18
darkbits Va por buen camino
como imprimo en tamaño de impresora térmica

un saludo al club
tengo una aplicación concluida, las boletas por default imprime en media hoja carta todo perfecto, esto lo realice con el fastreport media hoja y listo
varios clientes me piden que imprima en tamaño de impresora térmica, a lo que vi la hoja es de 8.5 cm

mi pregunta es como se realiza ello nunca hice eso, alguien hizo esta impresión con fastreport?
reduci a 8.5cm pero me imprime en hoja entera

yo necesito que imprima de acuerdo a la necesidad si es una sola venta que corte ahi

realice 1 venta o 10 ventas imprime en todo la hoja

alguien me puede indicar que modificar en parametros

gracias
__________________
Gracias por su coloración club delphi

darkbits ;)
Responder Con Cita
  #2  
Antiguo 12-01-2018
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Poder: 20
darkerbyte Va por buen camino
Mas datos

Hola.

Supongo que lo que quieres es imprimir en una impresora termica de TICKETS.
Hay varias maneras de hacerlo.

1. Con un reporteador (yo he usado Quickreport)

2. Usa un TRichedit, vacía el texto a imprimir en el richedit y luego usa unas lineas como estas:
Código Delphi [-]
//Printer lo obtienes declarando la unidad printers en el USES
//PrinterIndex es el numero de la impresora instalada en windows, puedes tener una sección donde el usuario pueda configurar su
//impresora para tickets de manera que no tenga que ser la impresora por default de windows.
Printer.PrinterIndex:= nimpresora; 
Printer.Copies:=1;
//Luego simplemente manda a llamar al método imprimir:
   try redit.Print('Ticket');
   except error:=True;
    end;

Para estos dos primeros casos, dependiendo de tu impresora (todas las Epson y Star, por ejemplo) tienen en sus opciones de configuración donde puedes programar el corte de papel, puede ser al finalizar el documento, en cada pagina nueva, etc.

3. Usa un método como este:
Código Delphi [-]
procedure Timpresion.ImprimirWin(contenido : Tstrings; impresora:TPrinter);
var
 i,h : integer;
begin
 with impresora do
 begin
   beginDoc;
   h:= Canvas.TextHeight(Contenido.Strings[0]);
   for i := 0  to Contenido.Count-1 do
               Canvas.TextOut(0,i*h,Contenido.Strings[i]);
   endDoc;
 end;
end;

4. Utiliza una impresión RAW puedes buscar en el foro, los compañeros han subido varios ejemplos

Para los puntos 3 y 4 puedes ocupar los comandos de la impresora ESC/POS para que controles manualmente el corte de papel, cajon de dinero, etc.


Te comento que todos los métodos funcionan bien, pero los que mejores resultados me han dado es el 2 y el 4. Aunque en mis programas incluyo los 4 métodos porque a veces son impresoras matriciales, no se tiene controlador, y en mi caso los clientes luego tienen cada impresora mas vieja que hay que echar a andar. Si te vas a concretar en un modelo específico de impresora la cosa esta todavía mas fácil.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Impresora Térmica GK420t MikyVato Impresión 4 13-11-2012 23:00:32
Impresión impresora térmica Cañones Impresión 6 08-10-2008 22:38:20
Impresora termica KUBE camino Impresión 1 19-03-2008 19:20:00
Como imprimo en una impresora de tickets? mierda Impresión 10 21-02-2007 11:15:24
Tamaño de pagina impiesora termica IVAND Impresión 2 22-08-2005 21:57:19


La franja horaria es GMT +2. Ahora son las 12:16:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi