TIP: You can type at any time to perform a new search.
Report to printer via WebSocket
base_report_to_printer_websocket · OCA/report-print-send
- 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
- 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 ID | Name | Model | Type | Status |
|---|---|---|---|---|
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)
-
backendSelectionondelete={'websocket': 'cascade'}selection_add=[('websocket', 'WebSocket')] -
websocket_user_idMany2one → res.usersargs: 'res.users'
-
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
- 107 days ago
- Last activity
- 38 days ago
- Repository
- OCA/report-print-send
- Pull request
- [18.0][MIG] base_report_to_printer_websocket (#457)