Astos Print · gratis para Android
Instala Astos Print en una tablet o celular Android, conecta tu impresora térmica ESC/POS (Wi-Fi o Bluetooth) y tu sistema le manda los tickets por HTTP. Sin computadora con Windows y sin drivers.
Por Wi-Fi (IP y puerto, normalmente 9100) o Bluetooth. Haz una prueba de impresión desde la app.
La app abre un servidor en el puerto 8080 de la tablet, por ejemplo http://192.168.1.50:8080.
Desde Bubble, JavaScript, PHP o lo que uses: un POST /print con el ticket en JSON. Si es una página web, autorízala primero en la app.
Todo en JSON, con Content-Type: application/json. Sin clave: solo responde dentro de tu red local.
| Endpoint | Para qué |
|---|---|
| GET /status | Si el servidor está activo, su IP, puerto e impresora predeterminada. |
| GET /printers | Impresoras guardadas: id, name, tipo de conexión, dirección y cuál es la predeterminada. |
| POST /test-print | Imprime un ticket de prueba. Cuerpo opcional: {"printer":"…"}. |
| POST /print | Imprime tu ticket (ver abajo). |
Campo "printer" con el id o el nombre que devuelve /printers. Si no lo mandas, se usa la predeterminada.
Una lista de commands que se ejecutan en orden:
POST http://192.168.1.50:8080/print
{
"printer": "1792025459847",
"commands": [
"ALIGN:center", "SIZE:2", "BOLD:ON", "TEXT:MI NEGOCIO", "BOLD:OFF", "SIZE:1",
"TEXT:Ticket #123 - 14/10/2026", "NEWLINE",
"ALIGN:left",
"TEXT:2 x Producto A 10.00",
"TEXT:1 x Producto B 5.50",
"TEXT:--------------------------------",
"ALIGN:right",
"TEXT:Subtotal: 13.14",
"TEXT:Impuesto: 2.36",
"BOLD:ON", "TEXT:TOTAL: 15.50", "BOLD:OFF",
"FEED", "CUT"
]
}
| Comando | Qué hace |
|---|---|
| TEXT:texto | Imprime una línea y salta a la siguiente. |
| ALIGN:left | center | right | Alineación de las líneas que siguen. |
| BOLD:ON | BOLD:OFF | Negrita. |
| SIZE:1 … SIZE:8 | Tamaño de letra (1 = normal, 2 = doble). |
| NEWLINE | Línea en blanco. |
| FEED | Avanza el papel antes de cortar. |
| CUT | Corta el papel (si la impresora tiene cortador). |
En 80 mm caben unos 48 caracteres por línea con letra normal (32 en 58 mm). Para columnas, rellena con espacios.
{ "text": "Línea 1\nLínea 2\nTOTAL 15.50" }
Imprime el texto tal cual y corta.
{ "base64": "G0AbYQFIb2xhCh1WQQA=" }
Se envían sin tocar a la impresora: logos, códigos de barras, QR o lo que tu impresora soporte.
{ "success": true, "message": "Print job completed successfully", "printer": "Caja 1", "timestamp": 1792025459847 }
fetch('http://192.168.1.50:8080/print', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
commands: ['ALIGN:center', 'BOLD:ON', 'TEXT:MI NEGOCIO', 'BOLD:OFF',
'ALIGN:left', 'TEXT:1 x Cafe 3.00', 'FEED', 'CUT']
})
}).then(r => r.json()).then(r => console.log(r.success ? 'Impreso' : r.message));
miapp.bubbleapps.io), agrégalo en la app: Menú → Páginas autorizadas. Si lo olvidas, la respuesta es 403 con el mensaje "Origen no permitido" y la app te ofrece autorizarla con un toque.Content-Type: application/json. Los pedidos desde otro equipo de tu red (PHP, Python, Node) no necesitan autorización.https:// a http://192.168… ("contenido mixto"). Si /test-print te funciona desde tu sistema, /print también.Astos Print is a free Android app that turns a tablet or phone into a print server for ESC/POS thermal printers (Wi-Fi or Bluetooth). Your web app (Bubble, JavaScript, PHP…) sends receipts over HTTP to port 8080 on the local network.
GET /status · GET /printers · POST /test-print · POST /printPOST /print accepts {"commands":[…]} (TEXT:, ALIGN:left|center|right, BOLD:ON|OFF, SIZE:1-8, NEWLINE, FEED, CUT), {"text":"…"} or {"base64":"…"} raw ESC/POS bytes."printer" (id or name from /printers); otherwise the default one is used.myapp.bubbleapps.io), add it in the app: Menu → Páginas autorizadas (version 1.1.3+). Otherwise you get 403 "Origen no permitido".https:// pages calling http:// local addresses (mixed content).Astos Print es gratis. Si te ahorró tiempo, puedes dejarnos una reseña en Google Play. Nos ayuda a seguir mejorándola.
¿Dudas con la integración o necesitas algo a medida? Escríbenos por WhatsApp.
+51 984 115 056