1
0
Fork 0
mirror of https://github.com/maziggy/bambuddy.git synced 2026-05-09 08:25:54 +02:00

[GH-ISSUE #809] [Feature]: Spool label printing #541

Closed
opened 2026-05-07 00:11:26 +02:00 by BreizhHardware · 8 comments

Originally created by @Evil-Crab on GitHub (Mar 25, 2026).
Original GitHub issue: https://github.com/maziggy/bambuddy/issues/809

Originally assigned to: @maziggy on GitHub.

Problem or Use Case

It would be nice to be able to generate spool labels from the Bambuddy.

Proposed Solution

Something similar to the 3dfilamentprofiles.com Swatch Label Generator:

Image

Alternatives Considered

No response

Feature Category

Other

Priority

Nice to have

Mockups or Examples

No response

Contribution

  • I would be willing to help implement this feature

Checklist

  • I have searched existing issues to ensure this feature hasn't already been requested
Originally created by @Evil-Crab on GitHub (Mar 25, 2026). Original GitHub issue: https://github.com/maziggy/bambuddy/issues/809 Originally assigned to: @maziggy on GitHub. ### Problem or Use Case It would be nice to be able to generate spool labels from the Bambuddy. ### Proposed Solution Something similar to the 3dfilamentprofiles.com Swatch Label Generator: <img width="505" height="1143" alt="Image" src="https://github.com/user-attachments/assets/51749e9c-1a26-44b9-8cf5-c769ab21c79a" /> ### Alternatives Considered _No response_ ### Feature Category Other ### Priority Nice to have ### Mockups or Examples _No response_ ### Contribution - [ ] I would be willing to help implement this feature ### Checklist - [x] I have searched existing issues to ensure this feature hasn't already been requested
BreizhHardware 2026-05-07 00:11:26 +02:00
Author
Owner

@maziggy commented on GitHub (Mar 25, 2026):

Before we commit to building this, I'd like to gauge community interest. If you'd find this feature useful, please give this issue a thumbs up (👍) reaction so we can prioritize accordingly.

<!-- gh-comment-id:4125919145 --> @maziggy commented on GitHub (Mar 25, 2026): Before we commit to building this, I'd like to gauge community interest. If you'd find this feature useful, please give this issue a thumbs up (👍) reaction so we can prioritize accordingly.
Author
Owner

@Keybored02 commented on GitHub (Mar 25, 2026):

Coming forma similar implementation in InvenTree and InvoiceNinja: the label generation is the easy part. The troubles are elsewhere: a reliable template format with variables to let the user customize the tags, server-side PDF rendering is a pain, and label printer integration takes forever to get working for even a single manufacturer.

So this should either use the browser's print util (which for tags makes formatting way harder, even with the system dialog fallback) or just offer a batch export that can be downloaded and printed separately.

<!-- gh-comment-id:4130264397 --> @Keybored02 commented on GitHub (Mar 25, 2026): Coming forma similar implementation in InvenTree and InvoiceNinja: the label generation is the easy part. The troubles are elsewhere: a reliable template format with variables to let the user customize the tags, server-side PDF rendering is a pain, and label printer integration takes forever to get working for even a single manufacturer. So this should either use the browser's print util (which for tags makes formatting way harder, even with the system dialog fallback) or just offer a batch export that can be downloaded and printed separately.
Author
Owner

@maziggy commented on GitHub (Mar 27, 2026):

Would be very helpful to have a list of desired features.

<!-- gh-comment-id:4140829734 --> @maziggy commented on GitHub (Mar 27, 2026): Would be very helpful to have a list of desired features.
Author
Owner

@maziggy commented on GitHub (Apr 18, 2026):

Still waiting for input from you guys.

<!-- gh-comment-id:4273134921 --> @maziggy commented on GitHub (Apr 18, 2026): Still waiting for input from you guys.
Author
Owner

@Keybored02 commented on GitHub (Apr 18, 2026):

I've briefly looked into the possible ways to do this a few days ago. Direct-to-printer is too much, but an HTML-based template and a pdf exporter is doable, albeit really time consuming to get to a stable point. If it were to happen, I would create a more robust, global label mixin that can use different templates and pull form different parts of the app to label spool, projects, printed parts, etc. The templating I would probably build around an API caller at creation time instead of providing dedicated key values for labels. Will be a slowdown for larger exports, but will also be simpler to maintain. PDF exporting will be a bit of a pain to create, but we could cut time by using the browser print menu and saving to PDF instead of server side rendering.

<!-- gh-comment-id:4273384452 --> @Keybored02 commented on GitHub (Apr 18, 2026): I've briefly looked into the possible ways to do this a few days ago. Direct-to-printer is too much, but an HTML-based template and a pdf exporter is doable, albeit really time consuming to get to a stable point. If it were to happen, I would create a more robust, global label mixin that can use different templates and pull form different parts of the app to label spool, projects, printed parts, etc. The templating I would probably build around an API caller at creation time instead of providing dedicated key values for labels. Will be a slowdown for larger exports, but will also be simpler to maintain. PDF exporting will be a bit of a pain to create, but we could cut time by using the browser print menu and saving to PDF instead of server side rendering.
Author
Owner

@bsaunder commented on GitHub (Apr 27, 2026):

I think the basic fields you would want on a label are:

  • Filament Brand / Type
  • Color (maybe Hex Code?)
  • Filament ID from Bambuddy (I look in the inventory, its Filament 7, I go to closet, find the one with a 7 on it)

Basically, the things you need to quickly identify and find the filament in your sea of filament spools/boxes/however you store them.

Currently, I store all of my Filament bagged in boxes, and on the outside of each box, I have a label I generate using Bambu Lab Label Generator (GitHub) that I print and slip into a tag holder on the box. When the Filament goes in the AMS, the tag goes from the box to the AMS and into a Label Holder. It would be great to generate basic labels like this in Bambuddy that you can use a similar workflow with.

The most important thing for the label though is identification, especially if I have multiple spools of say White PLA, and 1 or 2 of them are partial spools. I cant look at a QR code in a spool and know which one it is, and if they only have a name, then I dont know which of the 10 spools of "PLA - White" are the ones already open, so you need an identifier that you can quickly read, like the ID.

<!-- gh-comment-id:4330286505 --> @bsaunder commented on GitHub (Apr 27, 2026): I think the basic fields you would want on a label are: - Filament Brand / Type - Color (maybe Hex Code?) - Filament ID from Bambuddy (I look in the inventory, its Filament 7, I go to closet, find the one with a 7 on it) Basically, the things you need to quickly identify and find the filament in your sea of filament spools/boxes/however you store them. Currently, I store all of my Filament bagged in boxes, and on the outside of each box, I have a label I generate using [Bambu Lab Label Generator](https://bambu-labelgen.socuul.dev/) ([GitHub](https://github.com/SoCuul/Bambu-LabelGen)) that I print and slip into a tag holder on the box. When the Filament goes in the AMS, the tag goes from the box to the AMS and into a [Label Holder](https://makerworld.com/en/models/752566-ams-filament-label-holder#profileId-686467). It would be great to generate basic labels like this in Bambuddy that you can use a similar workflow with. The most important thing for the label though is identification, especially if I have multiple spools of say White PLA, and 1 or 2 of them are partial spools. I cant look at a QR code in a spool and know which one it is, and if they only have a name, then I dont know which of the 10 spools of "PLA - White" are the ones already open, so you need an identifier that you can quickly read, like the ID.
Author
Owner

@maziggy commented on GitHub (May 5, 2026):

Ready for V1.

In scope:

  • Per-spool "Print label" button, plus a "Print labels for selected" bulk action on the Inventory page
  • Three fixed templates: AMS holder size (~30x15 mm), box label (~60x30 mm), and an Avery sheet layout (e.g. 5160 / L7160) for batch printing
  • Each label shows: color swatch (with multi-color gradient support), brand + material, spool name, spool ID, and a QR code that deep-links to /inventory?spool= so a phone scan jumps straight to that spool. The box-size template also includes storage location.
  • Server-side PDF rendering via ReportLab + qrcode (pure Python, no system libs, no headless browser). Endpoint returns application/pdf, frontend opens it in a new tab — the user prints or saves from there.

Out of scope for V1:

  • Direct-to-label-printer integration (Dymo, Brother, Zebra). Each manufacturer is its own multi-week project. If V1 lands well, this can be a focused follow-up issue per vendor.
  • User-customizable HTML/CSS templates / template DSL. Three well-tuned defaults cover the use case bsaunder described, and adding a templating engine is where this kind of feature usually drowns.
  • Server-side rendering via WeasyPrint or headless Chromium. ReportLab handles the layout we need without dragging in Cairo/Pango or a browser.

Field list (color swatch, brand, material, name, spool ID, QR, storage location) is fixed for V1, but easy to extend — open a follow-up if you need RFID UID, weight, K-value, or anything else on the label.

<!-- gh-comment-id:4378012813 --> @maziggy commented on GitHub (May 5, 2026): Ready for V1. In scope: - Per-spool "Print label" button, plus a "Print labels for selected" bulk action on the Inventory page - Three fixed templates: AMS holder size (~30x15 mm), box label (~60x30 mm), and an Avery sheet layout (e.g. 5160 / L7160) for batch printing - Each label shows: color swatch (with multi-color gradient support), brand + material, spool name, spool ID, and a QR code that deep-links to /inventory?spool= so a phone scan jumps straight to that spool. The box-size template also includes storage location. - Server-side PDF rendering via ReportLab + qrcode (pure Python, no system libs, no headless browser). Endpoint returns application/pdf, frontend opens it in a new tab — the user prints or saves from there. Out of scope for V1: - Direct-to-label-printer integration (Dymo, Brother, Zebra). Each manufacturer is its own multi-week project. If V1 lands well, this can be a focused follow-up issue per vendor. - User-customizable HTML/CSS templates / template DSL. Three well-tuned defaults cover the use case bsaunder described, and adding a templating engine is where this kind of feature usually drowns. - Server-side rendering via WeasyPrint or headless Chromium. ReportLab handles the layout we need without dragging in Cairo/Pango or a browser. Field list (color swatch, brand, material, name, spool ID, QR, storage location) is fixed for V1, but easy to extend — open a follow-up if you need RFID UID, weight, K-value, or anything else on the label.
Author
Owner

@maziggy commented on GitHub (May 5, 2026):

Available/Fixed in branch dev and available with the next release or daily build. Please let me know if it works for you.

Docs -> https://wiki.bambuddy.cool/features/inventory/?h=label#printable-labels


If you find Bambuddy useful, please consider giving it a on GitHub — it helps others discover the project!

<!-- gh-comment-id:4378432086 --> @maziggy commented on GitHub (May 5, 2026): Available/Fixed in branch dev and available with the next release or daily build. Please let me know if it works for you. Docs -> https://wiki.bambuddy.cool/features/inventory/?h=label#printable-labels ----- If you find Bambuddy useful, please consider giving it a ⭐ on [GitHub](https://github.com/maziggy/bambuddy) — it helps others discover the project!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/bambuddy-maziggy-1#541
No description provided.