Plugin HTTP a ESC POSPlugin HTTP a ESC POS
Inicio
  • Introducción
  • Descargar plugin
  • Instalar y compartir tu impresora
  • Hola impresora
  • Descripción de la API HTTP
  • Imprimir
  • Obtener impresoras
  • Versión del plugin (ping)
  • Reenvío
  • Detener plugin
  • Iniciar
  • Escribir texto
  • Pulso (abrir cajón)
  • Corte parcial
  • Cortar papel
  • Avanzar papel
  • Texto según página de códigos
  • Cambiar alineación
  • Cambiar tamaño de fuente
  • Cambiar subrayado
  • Cambiar enfatizado
  • Impresión al revés
  • Rotar 90 grados
  • Impresión inversa
  • Establecer fuente
  • Habilitar caracteres personalizados
  • Deshabilitar caracteres personalizados
  • Deshabilitar el modo de caracteres chinos
  • Habilitar el modo de caracteres chinos
  • Definir caracter personalizado
  • Imagen local
  • Imagen de internet
  • HTML
  • Página web
  • Imagen en base64
  • Código de barras code 39
  • Código de barras code 93
  • Código de barras PDF 417
  • Código de barras UPC A
  • Código de barras UPC E
  • Código de barras Ean
  • Código de barras EAN 8
  • Código de barras ITF
  • Código de barras Codabar
  • Código de barras Code 128
  • Código QR
  • Sonido
  • Sonido y notificación
Playground
Impresoras compatibles
  • Español
  • English
Inicio
  • Introducción
  • Descargar plugin
  • Instalar y compartir tu impresora
  • Hola impresora
  • Descripción de la API HTTP
  • Imprimir
  • Obtener impresoras
  • Versión del plugin (ping)
  • Reenvío
  • Detener plugin
  • Iniciar
  • Escribir texto
  • Pulso (abrir cajón)
  • Corte parcial
  • Cortar papel
  • Avanzar papel
  • Texto según página de códigos
  • Cambiar alineación
  • Cambiar tamaño de fuente
  • Cambiar subrayado
  • Cambiar enfatizado
  • Impresión al revés
  • Rotar 90 grados
  • Impresión inversa
  • Establecer fuente
  • Habilitar caracteres personalizados
  • Deshabilitar caracteres personalizados
  • Deshabilitar el modo de caracteres chinos
  • Habilitar el modo de caracteres chinos
  • Definir caracter personalizado
  • Imagen local
  • Imagen de internet
  • HTML
  • Página web
  • Imagen en base64
  • Código de barras code 39
  • Código de barras code 93
  • Código de barras PDF 417
  • Código de barras UPC A
  • Código de barras UPC E
  • Código de barras Ean
  • Código de barras EAN 8
  • Código de barras ITF
  • Código de barras Codabar
  • Código de barras Code 128
  • Código QR
  • Sonido
  • Sonido y notificación
Playground
Impresoras compatibles
  • Español
  • English
  • Descripción de la API HTTP
  • Imprimir
  • Obtener impresoras
  • Versión del plugin (ping)
  • Reenvío
  • Detener plugin

Reenvío

Puedes usar este plugin para reenviar solicitudes de un plugin a otro. La principal razón por la que existe es para proporcionar impresión en red local (LAN).

Si tienes una computadora con una impresora conectada y el plugin ejecutándose en ella, puedes imprimir llamando a localhost, pero cuando quieres llamar al plugin desde otra computadora (es decir, llamando a una IP en lugar de localhost), esto no es posible con JavaScript del lado del cliente.

Reenvío de impresión

Método: POST o GET. El método debe ser el mismo que usarías si llamaras al endpoint sin reenviarlo. Usa POST para imprimir y GET para versión, apagar u obtener impresoras.

En otras palabras: realiza exactamente la misma solicitud que harías localmente, pero hazla a http://localhost:8000/reenviar y especifica la URL que especificarías en el parámetro host.

URL relativa: /reenviar?host=host_remoto

Respuesta

Si el reenvío es exitoso, la respuesta será la misma como si hubieras llamado al método localmente. De lo contrario, el servidor no responderá y recibirás una respuesta vacía.

Parámetros GET

Necesitas llamar a este endpoint de la API indicando el host al que se reenviará la solicitud.

Parámetro GETTipoEjemplo
hostStringhttp://localhost:8000/imprimir para imprimir, http://localhost:8000/impresoras para obtener las impresoras

Reenviar e imprimir (ejemplo de código)

Aquí tienes un ejemplo para reenviar e imprimir

try {
    // Computadora remota donde el plugin
    // se está ejecutando y la impresora está conectada
    const hostRemoto = "http://192.168.0.24:8000/imprimir";
    const listaDeOperaciones = [
        {
            nombre: "EscribirTexto",
            argumentos: ["Hola\nImpresora"],
        }
    ];
    const nombreImpresora = "Nombre_impresora";
    const payload = {
        serial: "",
        operaciones: listaDeOperaciones,
        nombreImpresora: nombreImpresora,
    };
    const respuestaHttp = await fetch("http://localhost:8000/reenviar?host=" + hostRemoto, {
        method: "POST",
        body: JSON.stringify(payload),
    });
    const respuesta = await respuestaHttp.json();
    if (respuesta.ok) {
        console.log("Impreso correctamente");
    } else {
        console.error(respuesta.message);
    }
} catch (e) {
    console.log(e)
}

Para imprimir, normalmente llamarías a http://localhost:8000/imprimir con el método POST, llamando al endpoint relativo /imprimir, pero en este caso debes llamar a /reenviar y especificar la URL del host remoto con imprimir, cambiando localhost por la IP del host remoto.

Si el reenvío es exitoso, la respuesta será la misma que el método imprimir.

Reenviar y obtener impresoras (ejemplo de código)

Aquí tienes un ejemplo para reenviar y obtener la lista de impresoras

try {
    // Computadora remota donde el plugin
    // se está ejecutando y la impresora está conectada
    const hostRemoto = "http://192.168.0.24:8000/impresoras";
    const respuestaHttp = await fetch("http://localhost:8000/reenviar?host=" + hostRemoto);
    const listaDeImpresoras = await respuestaHttp.json();
    console.log(listaDeImpresoras);
} catch (e) {
    // El plugin no respondió o no pudo reenviar la petición
    console.log(e)
}

Para obtener las impresoras, normalmente llamarías a http://localhost:8000/impresoras con el método GET, llamando al endpoint relativo /impresoras, pero en este caso debes llamar a /reenviar y especificar la URL del host remoto con impresoras, cambiando localhost por la IP del host remoto.

Si el reenvío es exitoso, la respuesta será la misma que el método obtener impresoras.

Más métodos

El endpoint /reenviar actúa como un proxy, puedes reenviar cualquier solicitud incluyendo versión y apagar.

Última actualización:
Anterior
Versión del plugin (ping)
Siguiente
Detener plugin