Repository
OCA/report-print-send · module folder · Try on Runboat
Module version
1.0.0
Category
Generic Modules/Base
Folder size
0.06 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/report-print-send
Last tracking update
2026-08-07 09:06:23
Authors
Odoo Community Association (OCA), ForgeFlow, Dixmit
Maintainers
Odoo Community Association (OCA), ForgeFlow, Dixmit
Committers
Weblate, OCA-git-bot, oca-ci, DavidJForgeFlow
Odoo dependencies
OCA/report-print-send:
odoo/odoo:
- web
- bus
Python dependencies
None
System dependencies
None
Required by
None
Description
This module extends *base_report_to_printer* to send print jobs through
the Odoo Bus (WebSocket) instead of a traditional print server like CUPS.

When a report is printed, the module encodes the rendered PDF in Base64
and sends a ``print_job`` message through the bus to the user configured
on the printer. A client-side listener running as that user receives
the payload and forwards it to the local printer.

Main features:

- No external print server required — works over the existing Odoo Bus.
- Sends print jobs as Base64-encoded PDFs via WebSocket.
- Each printer is bound to a specific Odoo user, so jobs are delivered
  only to the right client-side agent.
- Compatible with the standard *base_report_to_printer* configuration
  (global, per user, per report, per user + report).
- Works with `odoo-print-client <https://pypi.org/project/odoo-print-client/>`_
  as the client-side agent to receive and print jobs.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
printing_printer_view_form_inherit_websocket printing.printer.form (in base_report_to_printer_websocket) printing.printer form Inherits base_report_to_printer.printing_printer_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (2)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • backend Selection
    ondelete={'websocket': 'cascade'} selection_add=[('websocket', 'WebSocket')]
  • websocket_user_id Many2one → res.users
    args: 'res.users'
Public methods (1)
  • print_document(self, report, content, action=None, doc_format='qweb-pdf', **kwargs)
Status
Open migration PR — not merged yet for this version
CI status
green — ready to merge
Open since
108 days ago
Last activity
39 days ago
Repository
OCA/report-print-send
Pull request
[18.0][MIG] base_report_to_printer_websocket (#457)