# Guia de impresion para clientes

Omega POS vive en la web. La impresion silenciosa se realiza con **Omega Print Agent**, un componente local que no contiene inventario, ventas, clientes, claves de Supabase ni el codigo completo del POS.

Para una explicacion campo por campo, calibracion, diagnostico y solucion de
problemas, consultar `MANUAL_MODULO_IMPRESION.md`.

## Descarga recomendada

Desde `Impresion`, descargar:

```text
Omega-Print-Agent-Windows-1.3.0.zip
Omega-Print-Agent-Linux-1.3.0.zip
Omega-Print-Agent-1.3.0.zip
```

El POS recomienda el paquete correcto segun la preferencia local de la caja.
El paquete universal contiene ambos instaladores.

## Instalacion por computadora

Cada caja, bodega o equipo que imprima necesita su propio agente y conserva su propia configuracion. Las preferencias comerciales de la empresa no reemplazan la impresora de otra PC.

### Windows

1. Instalar Node.js LTS.
2. Descomprimir el paquete.
3. Ejecutar `Reiniciar-Omega-Print-Agent.bat`.
4. Opcional: ejecutar `Instalar-Inicio-Con-Windows.bat`.

### Linux

1. Instalar Node.js LTS, CUPS y cups-client.
2. Activar CUPS.
3. Descomprimir el paquete Linux.
4. Ejecutar:

```sh
chmod +x *.sh
./Instalar-Inicio-Con-Linux.sh
./Probar-Omega-Print-Agent.sh
```

En Ubuntu/Debian:

```sh
sudo apt install nodejs cups cups-client curl
sudo systemctl enable --now cups
```

Si usa USB serial, agregar el usuario a `dialout`. Si administra colas CUPS,
agregarlo a `lp,lpadmin` y volver a iniciar sesion.

## Configuracion guiada

1. Abrir `Impresion`.
2. Elegir `Automatico`, `Windows` o `Linux`. Se guarda solo en esa PC.
3. Pulsar `Detectar ahora`. Esta accion no imprime.
4. Elegir la impresora detectada.
5. Pulsar `Usar para tickets` o `Usar para etiquetas`.
6. Elegir papel y lenguaje.
7. Guardar la estacion.
8. Solo entonces imprimir una prueba segura.

La URL normal del agente es:

```text
http://127.0.0.1:17890
```

## Destinos compatibles

```text
192.168.1.120
tcp://192.168.1.120:9100
printer:NOMBRE EXACTO EN WINDOWS
share:NOMBRE_COMPARTIDO
\\localhost\NOMBRE_COMPARTIDO
cups:NOMBRE_EN_LINUX_O_MAC
COM3
COM3:9600
/dev/ttyUSB0
/dev/usb/lp0
serial:///dev/ttyUSB0?baud=9600&parity=N&data=8&stop=1
```

## Tickets

- Lenguaje: `ESC/POS`.
- Papel: `58 mm` o `80 mm`.
- Perfil recomendado para Xlife P82: `80 mm / 48 caracteres`.
- Conexion recomendada: LAN/IP puerto `9100`; como alternativa, impresora instalada o compartida.
- El margen, ancho, logo, alimentacion superior y corte se guardan por computadora.

## Etiquetas

- Xprinter/TSC: `TSPL`.
- Zebra o compatible: `ZPL`.
- Seleccionar el tamano real de la etiqueta antes de probar.
- No enviar TSPL a una impresora ESC/POS ni ESC/POS a una etiquetadora.

## Diagnostico sin gastar papel

```text
http://127.0.0.1:17890/health
http://127.0.0.1:17890/printers
http://127.0.0.1:17890/diagnostics
http://127.0.0.1:17890/network-test?host=192.168.1.120&port=9100
```

## Protecciones

- Cerrar una venta nunca abre el dialogo de impresion del navegador.
- Si falta agente o impresora, la venta permanece guardada.
- Los trabajos llevan identificador para evitar duplicados accidentales.
- Detectar impresoras no envia papel.
- La calibracion y las pruebas reales requieren una accion explicita.

## Limite realista

No existe un protocolo universal para toda impresora. Omega cubre impresoras termicas y de etiquetas mediante perfiles ESC/POS, TSPL, ZPL, red RAW, impresoras instaladas, recursos compartidos, CUPS y puertos seriales.
