PDA

Ver la Versión Completa : Impresión directa en EPSON


guillotmarc
02-09-2003, 17:22:09
Hola.

Tengo problemas con los carácteres especiales (acentos, ñ, º, ...), en una impresión directa (directamente al puerto sin pasar por los drivers) a impresoras EPSON (modelos TM).

Conviertiendo las cadenas con CharToOem algunos carácteres quedan bien, pero muchos siguen imprimiendose mal. Imagino que para solucionarlo hay que enviarle el siguiene comando (secuencia de escape) ESC R n siendo n el código del grupo internacional de carácteres correspondientes al castellano. Pero no encuentro documentación sobre cuales són los números de las distintas páginas de códigos.

¿ Alguien me puede facilitar esta información ?.

Gracias.

Marc.

marcoszorrilla
02-09-2003, 17:35:23
Hola Marc:

Basado en un viejo manual te paso los códigos, haciendo notar que figuran para una Epson LQ2500/2550

0 USA
1 Francia
2 Alemania
3 Reino Unido
4 Dinamarca 1
5 Suecia
6 Italia
7 España 1
....
11 España 2
12 Hispanoamérica

A ver si tienes suerte.

Un Saludo.

guillotmarc
02-09-2003, 18:39:17
Gracias por la ayuda.

No ha habido suerte. No sé si no utilizo el comando correcto (ESC R), o es que el código de página no es válido, pero siempre obtengo el mismo resultado.

Saludos.

marcoszorrilla
02-09-2003, 19:06:42
Según mis datos:

ESC R(n)

Chr(27)+Chr(82)+(n)

Algo así, pero insisto es un antiguo manual, por lo que es posible como indicas que no funcione.

Un Saludo.

guillotmarc
02-09-2003, 19:36:14
Hola.

Tengo un documento de códigos ESC/POS disponibles en la familia Epson TM, y sale este comando que comentas, es el que estaba probando puesto que es el unico que parece aplicable, los demás no parecen relacionados con las paginas de códigos. (El problema es que no sale la lista de códigos aplicables al comando). Aunque es muy probable que para mantener la compatibilidad, los códigos del castellano sean los mismos que en las impresoras matriciales (la LQ), que me has proporcionado.

Lo realmente curioso, es que siempre obtengo el mismo resultado, seleccionando cualquier página de códigos.

Con 27,82,7 obtengo la misma salida que con 27,82,11, o por ejemplo con 27,82,0 (USA).

Tengo que estar haciendo algo mal, y seguramente será necesario combinar ese comando con otro, pero la verdad es que no veo cual.

Saludos.

marcoszorrilla
03-09-2003, 08:08:11
Marc:

Estoy pensando que el problema no sea ese, porque según recuerdo las impresoras matriciales traían unos interruptores "switches", que ya venían configuradas para el pais, con el conjunto de caracteres correspondientes e imprimian eñes y acentos sin ningún problema.

Creo que CharToOem...... es lo que debería de resolver el problema, sino habría que analizar que código ASCII le estamos mandando cuando no funciona correctamente y en el peor de los casos crear una función que filtre los carácteres no válidos para que al enviarle el trabajo a la impresora lo interprete correctamente.

Un Saludo.

guillotmarc
03-09-2003, 10:50:00
Gracias Marcos.

Es lo que me estaba temiendo, que ya venía con la página de códigos preconfigurada, puesto que los acentos en las minúsculas salen bien. El problema está en los acentos en las mayúsculas. Parece que simplemente no deben estar soportados por la impresora.

Supongo que tendré que crear el filtro que propones, para transformar las mayúsculas acentuadas, en mayúsculas sin acento.

Saludos.