Mi plugin HTTP a ESC POS soporta la impresión de caracteres especiales (letras latinoamericanas, etcétera) pero no todas las impresoras son iguales ni soportan la misma página de códigos.

De hecho la charcode page o página de códigos de caracteres es muy importante porque eso nos permite codificar el texto correctamente haciendo que las letras como las vocales acentuadas o la ñ aparezcan correctamente.

Sin el número de página ni página de códigos no podremos imprimir correctamente y por ello es que en este artículo te voy a enseñar a descubrir la página de códigos de caracteres que mejor le queda a tu impresora térmica ESC POS.

Prueba básica de impresión

Lo primero que tienes que hacer es instalar tu impresora e imprimir una página de prueba.

Después descarga mi plugin. No te preocupes, no será obligatorio que uses mi plugin siempre, solo es para que podamos averiguar la página de códigos. Descarga en: https://parzibyte.me/http-esc-pos-desktop-docs/es/guia/descargar.html y ejecútalo dándole todos los permisos necesarios.

No continúes hasta que estés seguro de que el plugin se está ejecutando.

Ahora visita la siguiente página que es el área de pruebas: https://parzibyte.me/http-esc-pos-desktop-docs/es/area-pruebas.html. Ahí fíjate que:

  1. Aparezca una alerta verde que dice Plugin ejecutándose en…
  2. Tu impresora aparezca en Selecciona tu impresora

No continúes hasta que todo lo anterior se cumpla. Entonces procede a seleccionar tu impresora de la lista. Navega hacia abajo, haz clic en la operación Iniciar y luego en EscribirTexto; eso añadirá las 2 operaciones.

Se debe ver como en la siguiente imagen: con la operación Iniciar primero y después con la operación EscribirTexto cuyo contenido es Hola impresora:

Aplicación web para probar impresora térmica

No continúes si lo que se ve en tu pantalla es distinto a lo de la imagen

Ahora haz clic en Hacer petición y se debería imprimir el texto Hola impresora en tu impresora seleccionada:

Ticket impreso correctamente

Lo que acabamos de hacer es probar que el plugin y tu impresora sean compatibles además de revisar si tu printer imprime bien. Si has llegado hasta acá entonces ahora sí vamos a averiguar la página de códigos de caracteres.

No continúes si tu impresora no imprimió el texto

Conocer página de códigos de caracteres

En esa misma página del área de pruebas elimina la operación de EscribirTexto y añade la que se llama TextoSegunPaginaDeCodigos.

Recomiendo dejar el texto por defecto, pero presta atención a argumentos[0] que es el número de página y también a argumentos[1] que es el código de página de caracteres para iconv.

Primero haz clic en Hacer petición con los valores por defecto, es decir, Número de página en 2 y Código de página de caracteres para iconv en cp850.

Se va a imprimir texto en la impresora. Y aquí es donde justamente comienza tu trabajo:

  • Si el texto se imprime correctamente, es decir, con los caracteres acentuados, etcétera entonces enhorabuena pues has encontrado el número de página y el charcode page, ya lo has averiguado y ahora solo debes decirme cuál combinación usaste con tu impresora
  • En caso de que aparezcan caracteres extraños o simplemente veas que el texto no se imprime como debería (por ejemplo, que aparece Josÿ en lugar de José o cosas similares) debes volver a imprimir el mismo texto pero cambiando el número de página y el código de página.

Por poner un ejemplo…

  1. Yo selecciono 2 en Número de página y cp850 en Código de página de caracteres para iconv
  2. Imprimo haciendo clic en Hacer petición pero el texto no sale como yo quiero, pues no aparecen los caracteres especiales que necesito
  3. Entonces cambio el número de página a 3 y pongo CP860 en Código de página de caracteres para iconv
  4. Vuelvo a imprimir haciendo clic en Hacer petición, y el texto sigue sin salir como quiero
  5. Cambio a número 4 y página CP863
  6. Vuelvo a imprimir haciendo clic en Hacer petición y finalmente imprime correctamente

Básicamente debes probar todas las combinaciones. Si tienes el manual de tu impresora y el mismo contiene los números de página soportadas entonces te ahorrarás tiempo.

Te voy a dejar las combinaciones más comunes que conozco en las siguientes secciones.

Mi experiencia

Soy de latinoamérica por lo que necesito imprimir texto en español, la eñe, tildes, etcétera. He trabajado con algunas impresoras ya sea mías o de clientes y te puedo compartir que:

  1. La impresora PT-210 imprime texto en español nativamente sin ninguna conversión
  2. La Xprinter-58 imprime usando número 2 y página de códigos cp850. Eso sí: debes deshabilitar el modo de caracteres chinos antes de imprimir texto en español
  3. En el caso de la impresora 3nstar PPT305BT de un estimado cliente le funcionó el número 3 y la página CP860

Todo es cuestión de que pruebes y, si eres tan amable, me compartas el número de página que te funcionó para ampliar esta base de conocimiento.

Cuando tengas el número de página correcto avísame y puedo implementarla en un plugin o sistema personalizado; solo necesito saber cuál codificación es la correcta para tu impresora.

Lista de página de códigos

Aquí tengo una lista. El n es lo que va en Número de página según tu impresora y el Code Page es lo que va en Código de página de caracteres para iconv. Eso sí, solo coloca el CP___, no añadas el texto que lo acompaña.

Por poner un ejemplo: si quieres probar el Canadian-French pon 4 en Número de página y CP863 en Código de página de caracteres para iconv; no pongas CP863 (Canadian-French), es decir, coloca únicamente el código de página.

n (decimal)Code PageIdioma/Zona
0CP437 (USA, Standard Europe)Inglés, básico
1KatakanaJaponés Katakana
2CP850 (Multilingual)Occidental (Europa)
3CP860 (Portuguese)Portugués
4CP863 (Canadian-French)Francés de Canadá
5CP865 (Nordic)Idiomas nórdicos
16CP1252 (Latin-1)Occidental Windows
17CP866 (Cyrillic #2)Cirílico (Rusia)
18CP852 (Latin-2)Europa Central
19CP858 (Euro)Variante CP850 con euro
21CP862 (Hebrew DOS)Hebreo DOS
22CP864 (Arabic)Árabe DOS
23Thai42Tailandés (mapeo específico)
24CP1253 (Greek)Griego Windows
25CP1254 (Turkish)Turco Windows
26CP1257 (Baltic)Idiomas bálticos
27FarsiPersa
28CP1251 (Cyrillic)Ruso moderno Windows
29CP737 (Greek)Griego DOS
30CP775 (Baltic)Báltico DOS
31Thai14Tailandés (otro mapeo)
33CP1255 (Hebrew New code)Hebreo moderno Windows

Aquí hay otra. La n es el número, y el Código de página es lo que está entre corchetes. Por ejemplo, para la Page 0 USA, Standard Europe es número 0 y Código de página CP437

nCharacter Type
0Page 0 USA, Standard Europe [CP437]
1Page 1 Katakana
2Page 2 Multilingual(Latin-1) [CP850]
3Page 3 Portuguese [CP860]
4Page 4 Canadian-French [CP863]
5Page 5 Nordic [CP865]
6Page 6 Slavic(Latin-2) [CP852]
7Page 7 Turkish [CP857]
8Page 8 Greek [CP737]
9Page 9 Russian(Cyrillic) [CP866]
10Page 10 Hebrew [CP862]
11Page 11 Baltic [CP775]
12Page 12 Polish
13Page 13 Latin-9 [ISO8859-15]
14Page 14 Latin1 [Win1252]
15Page 15 Multilingual Latin I + Euro [CP858]
16Page 16 Russian(Cyrillic)[CP855]
17Page 17 Russian(Cyrillic)[Win1251]
18Page 18 Central Europe[Win1250]
19Page 19 Greek[Win1253]
20Page 20 Turkish[Win1254]
21Page 21 Hebrew[Win1255]
22Page 22 Vietnam[Win1258]
23Page 23 Baltic[Win1257]
24Page 24 Azerbaijani
25-29Reserved
30Thai[CP874]
31-39Reserved
40Page 25 Arabic [CP720]
41Page 26 Arabic [Win 1256]
42Page 27 Arabic (Farsi)
43Page 28 Arabic presentation forms B
44-49Reserved
50Page 29 Hindi_Devanagari
252Page 30 Japanese [CP932]
253Page 31 Korean [CP949]
254Page 32 Traditional Chinese [CP950]
255Page 33 Simplified Chinese [CP936]

Y aquí otra. El n es le número y la página es PC437, PC865, etcétera. Puedes ignorar el resto del texto. Es decir, no pongas PC865 [Nordic] en Código de página, pon solamente PC865.

nPage
0PC437 [U.S.A., Standard Europe]
1Katakana
2PC850 [Multilingual]
3PC860 [Portuguese]
4PC863 [Canadian-French]
5PC865 [Nordic]
17PC866 [Cyrillic #2]
255Space page

Si has probado todas y cada una de las combinaciones y ni así sirve, entonces empieza a probar intercambiando la n y la página. Por ejemplo, en la tabla de arriba al número 0 le corresponde la PC437, pero si ya has probado absolutamente todas las combinaciones entonces prueba ese mismo número 0 pero en lugar de PC437 utiliza PC850, luego prueba con la PC860, etcétera.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto