Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Impresión de Gráficos en Epson tmu200a (https://www.clubdelphi.com/foros/showthread.php?t=84677)

apuentes 21-11-2013 01:02:55

Impresión de Gráficos en Epson tmu200a
 
Hola estimados miembros del foro :), estoy necesitando imprimir un logo en una impresora de tickets epson tmu200a, leí en el manual que está habilitada para imprimir gráficos, y también caracteres predefinidos, o sea la posibilidad de poder dibujar mis propios caracteres, pero no encuentro como hacerlo, como comenzar, podrían guiarme por donde? la impresora funciona correctamente, imprime texto sin problemas, nunca pude conseguir el driver desde epson por lo que utiliza el driver genérico / solo texto de windows, y esta conectada al puerto com1.
Saludos. :)

ecfisa 21-11-2013 05:07:07

Hola apuentes.

Para comenzar hay que indicarle a la impresora que se enviará un renglón en modo gráfico. En el caso de una Epson o compatible [1] de 9 agujas se hace:
  • Enviar la secuencia de caracteres #27#75 (Esc+'K').
  • Enviar dos bytes con el número de columnas de píxeles a imprimir con el órden byte menos significativo - byte mas significativo.
  • Enviar un byte por cada columna de píxeles a imprimir.
Cada bit del byte enviado controla la impresión de una aguja, el byte 7 la superior, decreciendo hasta el cero que controla la inferior.

Por ejemplo, dibujar un carácter propio en forma de rectángulo:
Código Delphi [-]
var
  prn: TextFile;
  i : Byte;
begin
  AssignPrn(prn);
  try
    Rewrite(prn); // Inicializar
    Write(prn, #27#75#8#0); // modo gráfico, 8 columnas de pixeles
    Write(prn, #255); // Línea izquierda
    for i:= 1 to 6 do Write(prn, #129); // Líneas superior e inferior
    Write(prn, #255); // Línea derecha
  finally
    CloseFile(prn);
  end;
end;
Para realizar diseños mas complejos te será útil usar un papel cuadriculado para marcar los bits encendidos y luego convertir las columnas de binario a decimal.

Pero se te pueden presentar problemas... Aunque Esc/P2 es un estándar para impresoras matriciales, no necesariamente tu impresora va a cumplir con él, así que te pongo el enlace a los códigos la misma para que puedas reemplazarlos si así se requiere. [2]
También puede suceder que el driver genérico de texto de Windows no soporte los códigos Esc/P2, sinceramente no lo he probado.

[1] Epson LX-810 User Manual (Busca por: Quick reference -> Control and Escape codes by function).
[2] One-Station Printer TM-U200A (Busca por: 3. Functions -> Command list)

Saludos :)

apuentes 21-11-2013 20:49:17

Muchas gracias ecfisa..! voy a intentar aplicarlo ahora.

Saludos. :)


La franja horaria es GMT +2. Ahora son las 05:56:42.

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