Part-DB-server/translations
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
..
.gitignore Initial commit 2019-02-23 16:49:38 +01:00
frontend.cs.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.da.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.de.xlf New Crowdin updates (#1419) 2026-06-29 00:12:20 +02:00
frontend.el.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.en.xlf New Crowdin updates (#1419) 2026-06-29 00:12:20 +02:00
frontend.es.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.fr.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.hu.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.it.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.ja.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.nl.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.pl.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.pt_BR.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.ru.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.uk.xlf Translate Swal buttons 2026-06-21 15:10:39 +02:00
frontend.zh.xlf New Crowdin updates (#1419) 2026-06-29 00:12:20 +02:00
messages.cs.xlf Add price columns to project BOM table and build price summary (#1345) 2026-04-15 22:13:07 +02:00
messages.da.xlf New Crowdin updates (#1325) 2026-04-15 23:38:40 +02:00
messages.de.xlf New Crowdin updates (#1419) 2026-06-29 00:12:20 +02:00
messages.el.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
messages.en.xlf Add optional direct thermal printing to Niimbot printers from the label generator 2026-07-16 11:39:38 +02:00
messages.es.xlf Add price columns to project BOM table and build price summary (#1345) 2026-04-15 22:13:07 +02:00
messages.fr.xlf New Crowdin updates (#1325) 2026-04-15 23:38:40 +02:00
messages.hu.xlf Add price columns to project BOM table and build price summary (#1345) 2026-04-15 22:13:07 +02:00
messages.it.xlf Add price columns to project BOM table and build price summary (#1345) 2026-04-15 22:13:07 +02:00
messages.ja.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
messages.nl.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
messages.pl.xlf Add price columns to project BOM table and build price summary (#1345) 2026-04-15 22:13:07 +02:00
messages.ru.xlf Add price columns to project BOM table and build price summary (#1345) 2026-04-15 22:13:07 +02:00
messages.zh.xlf New Crowdin updates (#1419) 2026-06-29 00:12:20 +02:00
SchebTwoFactorBundle+intl-icu.de.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
SchebTwoFactorBundle+intl-icu.en.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
SchebTwoFactorBundle.de.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
SchebTwoFactorBundle.en.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
security.cs.xlf New Crowdin updates (#1227) 2026-02-07 19:14:35 +01:00
security.da.xlf New Crowdin updates (#1228) 2026-02-15 22:24:00 +01:00
security.de.xlf New Crowdin updates (#1228) 2026-02-15 22:24:00 +01:00
security.el.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
security.en.xlf New Crowdin updates (#1228) 2026-02-15 22:24:00 +01:00
security.es.xlf New Crowdin updates (#1227) 2026-02-07 19:14:35 +01:00
security.fr.xlf New Crowdin updates (#1227) 2026-02-07 19:14:35 +01:00
security.hr.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
security.hu.xlf New Crowdin updates (#1228) 2026-02-15 22:24:00 +01:00
security.it.xlf New Crowdin updates (#1227) 2026-02-07 19:14:35 +01:00
security.ja.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
security.nl.xlf New Crowdin updates (#1228) 2026-02-15 22:24:00 +01:00
security.pl.xlf New Crowdin updates (#1227) 2026-02-07 19:14:35 +01:00
security.pt_BR.xlf New Crowdin updates (#1358) 2026-05-03 01:24:24 +02:00
security.ru.xlf New Crowdin updates (#1227) 2026-02-07 19:14:35 +01:00
security.uk.xlf New Crowdin updates (#1228) 2026-02-15 22:24:00 +01:00
security.vi.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
security.zh.xlf Perform a full translation of Simplified Chinese. (#1426) 2026-06-25 20:41:55 +02:00
validators.cs.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
validators.da.xlf New Crowdin updates (#1325) 2026-04-15 23:38:40 +02:00
validators.de.xlf New Crowdin updates (#1419) 2026-06-29 00:12:20 +02:00
validators.el.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
validators.en.xlf New Crowdin updates (#1419) 2026-06-29 00:12:20 +02:00
validators.fr.xlf New Crowdin updates (#1325) 2026-04-15 23:38:40 +02:00
validators.hr.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
validators.hu.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
validators.it.xlf New Crowdin updates (#1265) 2026-03-01 23:21:02 +01:00
validators.ja.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
validators.nl.xlf New Crowdin updates (#1364) 2026-05-25 22:40:38 +02:00
validators.pl.xlf New Crowdin updates (#1228) 2026-02-15 22:24:00 +01:00
validators.pt_BR.xlf New Crowdin updates (#1358) 2026-05-03 01:24:24 +02:00
validators.ru.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
validators.uk.xlf Remove outdated file source and path notes from translation files (#1225) 2026-02-07 18:33:31 +01:00
validators.zh.xlf Perform a full translation of Simplified Chinese. (#1426) 2026-06-25 20:41:55 +02:00