Imprimir
Usa este método para imprimir un recibo o, a veces, abrir la caja registradora. Envía una lista de operaciones que se traducirán en comandos ESC POS.
Puedes especificar el nombre de la impresora y una lista infinita de operaciones.
Método: POST
URL relativa: /imprimir
Ejemplo de cuerpo de la solicitud:
{
"serial": "",
"nombreImpresora": "Nombre_impresora",
"operaciones": [
{
"nombre": "EscribirTexto",
"argumentos": [
"Hola\nImpresora"
]
}
]
}
Envía un objeto JSON con las siguientes propiedades:
Propiedad | Tipo | Descripción | Ejemplo |
---|---|---|---|
serial | String | Serial opcional del plugin para apoyar al desarrollo | "" |
nombreImpresora | String | Nombre de la impresora donde se realizarán las operaciones ESC POS. Puedes llamar al método para obtener las impresoras o puedes especificarlo manualmente | "POS58" |
operaciones | Array | Arreglo de objetos. Cada objeto dentro de operaciones debe tener una propiedad nombre y una propiedad argumentos | [{"nombre": "EscribirTexto", "argumentos": ["Hola\nImpresora"]}] |
nombre (Propiedad del objeto dentro del arreglo operaciones ) | String | Nombre de la operación que puedes obtener en Operaciones ESC POS disponibles | "EscribirTexto" |
argumentos (Propiedad del objeto dentro del arreglo operaciones ) | Array | Argumentos en el orden en que aparecen en las Operaciones ESC POS disponibles | ["Hola\nImpresora"] |
Ejemplo de respuesta:
{
"ok": true,
"message": ""
}
Este endpoint devuelve un objeto JSON, que contiene dos propiedades:
Propiedad | Tipo | Descripción | Ejemplo |
---|---|---|---|
ok | Boolean | Indica si la lista de operaciones se ejecutó con éxito | true |
message | String | Si ok no es true , entonces el mensaje de error estará en message | "open \\\\PC\\Nombre_impresora: El nombre de la red no se puede encontrar." |
Consejos
Incluso si el plugin devuelve true
en la propiedad ok
, eso no significa que la impresión fue exitosa. El plugin no tiene forma de saber si la impresora estaba conectada o encendida. Un valor true
en ok
significa que el trabajo de impresión se agregó a la cola de impresión y que la lista de operaciones se ejecutó sin errores de sintaxis.
Ejemplo (JavaScript del lado del cliente)
try {
const listaDeOperaciones = [
{
nombre: "EscribirTexto",
argumentos: ["Hola\nImpresora"],
}
];
const nombreImpresora = "Nombre_impresora";
const cargaUtil = {
serial: "",
operaciones: listaDeOperaciones,
nombreImpresora: nombreImpresora,
};
const respuestaHttp = await fetch("http://localhost:8000/imprimir", {
method: "POST",
body: JSON.stringify(cargaUtil),
});
const respuesta = await respuestaHttp.json();
if (respuesta.ok) {
console.log("Impreso correctamente");
} else {
console.error(respuesta.message);
}
} catch (e) {
console.log(e)
}