Part-DB-server/assets
Jaime Laborda 218b394b13 Add optional direct thermal printing to Niimbot printers from the label generator
Adds a "Print to Niimbot" panel to the label generator dialog that sends the
generated label straight to a Niimbot thermal printer (e.g. B1) over Web
Bluetooth, without a PDF print dialog or printer driver.

The existing server-side DomPDF label is reused as-is: a new Stimulus controller
rasterizes the PDF preview page-by-page with pdf.js at the printer's native
resolution, converts it to a 1-bit bitmap and prints it via the niimbluelib
library. No changes to the PHP label pipeline are required.

The feature is disabled by default and gated behind the NIIMBOT_ENABLED
environment variable, since it is only useful for users who own such a printer.

- Add @mmote/niimbluelib and pdfjs-dist dependencies
- New assets/controllers/pages/niimbot_print_controller.js
- Print options (copies, density, label type, rotation, B/W threshold) in the
  label dialog, gracefully disabled when Web Bluetooth is unavailable
- NIIMBOT_ENABLED env flag (off by default), wired through parameters.yaml and a
  Twig global, documented in .env
- English translations and documentation

Requires a Chromium-based browser and a secure context (HTTPS or localhost).
2026-07-16 11:39:38 +02:00
..
ckeditor Fixed english translation for placeholder plugin and use more modern translation system 2025-10-17 17:57:34 +02:00
commands Enhance KiCad integration: API v2, batch EDA editing, field export control (#1241) 2026-03-01 22:10:13 +01:00
controllers Add optional direct thermal printing to Niimbot printers from the label generator 2026-07-16 11:39:38 +02:00
css Moved alerts and dialogs from unsupported bootbox to Sweetalert2 library 2026-06-21 14:21:01 +02:00
fonts/dompdf Added GNU unifont as fallback font for labels with CJK characters 2023-07-02 03:26:56 +02:00
helpers Translate Swal buttons 2026-06-21 15:10:39 +02:00
js Upgraded jquery to 4.0.0 2026-06-21 15:51:22 +02:00
styles Updated symfony recipes. 2021-01-03 20:54:47 +01:00
themes Added brite bootswatch theme 2026-06-21 16:10:38 +02:00
tomselect Added a "unsaved changed" warning dialog for part, entity edits and system settings 2026-05-25 21:29:10 +02:00
controllers.json Removed the deprecated symfony/ux-toggle-password package by replacing it by our own local versions 2025-08-30 21:57:57 +02:00
stimulus_bootstrap.js Updated stimulus recipe 2025-11-30 15:07:59 +01:00
translator.js Move frontend translations to separate domain to reduce bundle size (#1197) 2026-01-18 18:50:38 +01:00
tsconfig.json Added an basic implementation of bootstrap-treeview in typescript 2022-08-06 03:40:24 +02:00