Linux Software to print with LabelManager PnP from Dymo
- First version from Sebastian Bronner: https://sbronner.com/dymoprint.html
- Cloned to Github and formerly maintained by @computerlyrik: https://github.com/computerlyrik/dymoprint
- Currently maintained by @maresb
- Text printing
- QR code printing
- Barcode printing
- Image printing
- Combinations of the above
- GUI Application based on PyQt6
- LabelManager PC
- LabelPoint 350
- LabelManager 280
- LabelManager 420P
- LabelManager Wireless PnP
- Windows support by setting the driver to WinUSB using Zadig
For more information about experimental device support, see #44.
It is recommended to install dymoprint with pipx so that it runs in an isolated virtual environment:
pipx install dymoprintIn case pipx is not already installed, it can be installed on Ubuntu/Debian with
sudo apt-get install pipxor on Arch with
sudo pacman -S python-pipxBy default, users don't have permission to access generic USB devices, so you will
need to add a rule. The first time you run dymoprint, it will give instructions
about how to do this:
$ dymoprint "Hello world"
...
You do not have sufficient access to the device. You probably want to add the a udev rule in /etc/udev/rules.d with the following command:
echo 'ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0922", ATTRS{idProduct}=="1001", MODE="0666"' | sudo tee /etc/udev/rules.d/91-dymo-1001.rules
...To install a test branch, by user ghuser for the branch branchname, run
pipx install --force git+https://github.com/ghuser/dymoprint@branchnameTo revert back to the release version, run
pipx install --force dymoprintTo install a particular release version, specify dymoprint==x.y.z instead of dymoprint in the above command.
To install for development, fork and clone this repository, and run (ideally within a venv):
pip install --editable .This project uses pre-commit to run some checks before committing.
After installing the pre-commit executable, please run
pre-commit installFonts are managed via dymoprint.ini. This should be placed in your
config folder (normally ~/.config). An example file is provided here.
You may choose any TTF Font you like
You may edit the file to point to your favorite font.
For my Arch-Linux System, fonts are located at e.g.
/usr/share/fonts/TTF/DejaVuSerif.ttfIt is also possible to Download a font from http://font.ubuntu.com/ and use it.
For font discovery, Dymoprint contains code excerpts from
matplotlib.
See here for more information and
LICENSE for the license.
dymoprint MyText
Multilines will be generated on whitespace
dymoprint MyLine MySecondLine # Will print two Lines
If you want whitespaces just enclose in " "
dymoprint "prints a single line"
dymoprint --help
Just add a text after your qr or barcode text
dymoprint -qr "QR Content" "Cleartext printed"
Any picture with JPEG standard may be printed. Beware it will be downsized to tape.
dymoprint -p mypic.jpg ""
Take care of the trailing "" - you may enter text here which gets printed in front of the image
dymoprint_gui
- Live preview
- margin settings
- type size selector
- visualization of tape color schema
- the ability to freely arrange the content using the "Node" list
- Text Node:
- payload text - can be multi-line
- font selector
- font scaling - the percentage of line-height
- frame border width steering
- Qr Node:
- payload text
- BarCode Node:
- payload text
- codding selector
- Image Node:
- path to file
- Text Node:
Nodes can be freely arranged, simply drag&drop rows on the list. To add or delete the node from the label - right-click on the list and select the action from the context menu. To print - click the print button.
Example 1: multiple text + QR code
Example 2: two images + text with frame, white on red
Example 3: barcode, text, image
Besides the travis-ci one should run the following command on a feature implemention or change to ensure the same outcome on a real device:
dymoprint Tst && \
dymoprint -qr Tst && \
dymoprint -c code128 Tst && \
dymoprint -qr qrencoded "qr_txt" && \
dymoprint -c code128 Test "bc_txt"(?)support multiple ProductIDs (1001, 1002) -> use usb-modeswitch?put everything in classes that would need to be used by a GUIfor more options use command line parser frameworkallow selection of font with command line optionsallow font size specification with command line option (points, pixels?)provide an option to show a preview of what the label will look likeread and write a .dymoprint file containing user preferencesprint barcodesprint graphicsplot frame around label- vertical print
- refactor code with better abstractions
- pixel fonts
- web interface


