forked from Firedrake/dymo-labelmanager
-
Notifications
You must be signed in to change notification settings - Fork 0
petonic/dymo-labelmanager
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
txt2img and imgprint -- programs to drive a Dymo LabelManager PNP by Roger Bell_West (roger at firedrake.org) Updated versions of this software may be available from https://github.com/Firedrake/dymo-labelmanager The Dymo LabelManager PNP is a very fine small tape printer, conveniently sized and priced for someone like me who has low-volume label-printing needs. Unfortunately, because it registers on USB as a HID rather than as a printer, the Dymo-supplied Linux drivers are of no use with it. However, the printing protocol is similar to that used on the larger LabelMaker printers, and writing a program to access it at low level isn't too hard. Sebastian Bronner got there first with his dymoprint: http://sbronner.com/dymoprint/ which is a great starting point, but wasn't quite what I wanted: it can only produce lines of text in a single font. In the tradition of Unix programs, I wanted to split the functions: one program to convert text to bitmap, and another to send the bitmap to the printer. That way I could use an image editor in between to add barcodes, multiple fonts, and whatever other functions I wanted. Also I like Perl. And thus txt2img and imgprint. Both of these programs will need the non-core Imager module (on Debian, apt-get install libimager-perl). txt2img takes one or more lines of text and an optional font specifier, and produces a bitmap: $ txt2img -f /path/to/font.ttf "line one" "line two" "line three" By default it writes to txt2img.png; -o will change this. It scales the text to 64 pixels, this being the resolution of the LabelManager on 12mm tape. Multiple lines are centred by default; to change this, use "-a l" to align left or "-a r" to align right. To increase inter-line spacing, use "-g N" to specify a pixel gap of N. imgcombine takes several images and combines them into a single one; for example, you could have a text label from txt2img followed by a piece of clip-art. -o determines the output file (imgcombine.png by default). An image that is 64 pixels wide but not high will be rotated 90 degrees; otherwise it will be scaled to fit. $ imgcombine file1.png file2.png imgprint takes a 64-pixel-high image, crudely converts it to black-and-white if necessary, and outputs it to an attached LabelManager PNP. If it doesn't find one, it will fail with an error; you can use the -d option to specify a particular device (or even a plain file). Use the "-s" option to print a short label. This will advance the label past the cutter, but will not include the equal blank space after the cutter that forms the left margin of the next label to be printed. The next label printed will be right up at the leading edge of the tape. If you use this every time, the labels will come out as: [TEXT ][TEXT ] etc. which may be helpful if you plan to trim off the blank parts anyway. $ imgprint txt2img.png If you get a permission error, add a file 50dymo.rules in /etc/udev/rules.d that reads: SUBSYSTEM=="hidraw", ACTION=="add", ATTRS{idVendor}=="0922", ATTRS{idProduct}=="1001", GROUP="plugdev" then, still as root, udevadm control --reload-rules && udevadm trigger Feature requests are welcome.
About
Drive a Dymo LabelManager PNP from Linux
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Perl 100.0%