Report to printer via WebSocket
Este módulo extiende base_report_to_printer para enviar trabajos de impresión a través del Odoo Bus (WebSocket) en lugar de un servidor de impresión tradicional como CUPS.
Cuando se imprime un informe, el módulo codifica el PDF renderizado en Base64 y envía un mensaje print_job a través del bus al usuario configurado en la impresora. Un listener del lado del cliente que se ejecuta como ese usuario recibe el payload y lo reenvía a la impresora local.
Características principales:
- No requiere un servidor de impresión externo — funciona sobre el Odoo Bus existente.
- Envía trabajos de impresión como PDFs codificados en Base64 vía WebSocket.
- Cada impresora está vinculada a un usuario específico de Odoo, por lo que los trabajos se entregan solo al agente del lado del cliente correcto.
- Compatible con la configuración estándar de base_report_to_printer (global, por usuario, por informe, por usuario + informe).
- Funciona con odoo-print-client como agente del lado del cliente para recibir e imprimir trabajos.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 19.0Permite a Odoo enviar trabajos de impresión de informes directamente al ordenador de un usuario a través de la conexión WebSocket existente, sin necesidad de un servidor de impresión externo. Cada impresora está vinculada a un usuario específico que recibe el trabajo.
Este módulo añade una nueva opción de impresión a la pantalla de configuración de la impresora. En un registro de impresora, los usuarios pueden elegir "WebSocket" como backend y luego seleccionar el usuario de Odoo que debe recibir los trabajos de impresión. El campo de usuario solo aparece y es obligatorio cuando se selecciona el backend WebSocket.
Cuando se imprime un informe en una impresora configurada de esta manera, Odoo genera el PDF, lo codifica y lo envía como un mensaje "print_job" a través del bus de Odoo (el mismo canal en tiempo real utilizado para las notificaciones). Solo el usuario asignado a esa impresora está suscrito para recibirlo, por lo que los trabajos llegan a la máquina de la persona correcta.
En el lado del cliente, un pequeño listener que se ejecuta como ese usuario recoge el mensaje y reenvía el PDF a la impresora local. Tras un envío correcto, el usuario ve un mensaje de confirmación que indica que el trabajo de impresión se envió vía WebSocket; si falla, aparece en su lugar una notificación de error.
Funciona junto con la configuración estándar de informe a impresora, por lo que las opciones habituales (global, por usuario, por informe, o por usuario e informe) siguen aplicándose. Toca el modelo printing.printer y la lógica del canal del bus, y añade un campo a la vista de formulario de la impresora.
Depende de
Modelos y campos (1)
- printing.printer · amplía un modelo existentebackend, websocket_user_id
Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 1 confirmada, 8 sin información de 9 versiones.
Fuentes · Odoo 19.0
Confirmado el 2026-11-03 en la rama 19.0 de OCA/report-print-send.
terminal Instalación y uso
Documentación de OCA · Odoo 19.0Configuración
Fuente · Odoo 19.0- Cree un registro de impresora en Settings > Printing > Printers con el backend establecido en WebSocket.
- Establezca el System Name con el nombre de la impresora de destino tal como lo conoce el listener del lado del cliente (p. ej.
MFC-L3750CDW). Déjelo vacío para usar la impresora predeterminada del sistema. - Establezca el WebSocket User con el usuario de Odoo que ejecutará el agente
odoo-print-client. Los trabajos de impresión se entregan a través de la suscripción al bus de este usuario. - Asigne la impresora como predeterminada de forma global, por usuario o por informe siguiendo el flujo de trabajo estándar de base_report_to_printer.
- Instale y ejecute el agente
odoo-print-clienten la máquina conectada a la impresora pip install odoo-print-client odoo-printer --url "https://odoo.example.com" --db "prod" --user "admin" --password "admin" Consulte odoo-print-client en PyPI para ver todas las opciones de configuración.
Una vez configurado, la impresión funciona de forma transparente. Cuando un usuario imprime un informe configurado como Send to Printer y la impresora asignada utiliza el backend WebSocket, el módulo:
- Renderiza el informe como PDF.
- Codifica el contenido del PDF en Base64.
- Envía un mensaje
print_joba través del bus al usuario configurado de la impresora con el siguiente payload { "printer_name": "", "file_data": "" }
El agente recomendado del lado del cliente es odoo-print-client, que se conecta como el usuario configurado y reenvía los trabajos a la impresora local.
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.