I recently bought a LabelWriter 400. It can work perfectly with Linux (at least on the two distribution I tested), one just have to avoid some traps.
First, don't use the system printing configuration tool. Use [
localhost:631], which is the intended way to configure CUPS. Both on Redhat Enterprise Linux 4 (RHEL4) and Fedora 6 the LabelWriter 400 is available there. On RHEL4, the default printer configuration tool brought me nowhere.
CUPS is using two mechanisms to print to the LabelWriter. If you do a "locate dymo" you will find a PPD-file "dymo.ppd.gz" that CUPS reads. This file again points to a CUPS-filter "rastertolabel". When I do "locate rastertolabel" I can see that I indeed have this filter on my disk. This filter translates generic bitmap-information into something that the LabelWriter will understand.
In the PPD-file the LabelWriter is listed as a PostScript-printer. So make sure you feed PostScript to it. CUPS will use the ghostscript-program to convert PostScript into rasterinformation. If you send text, obviously the formatting won't be pretty because CUPS will have to apply some default formatting.
I first tried to generate PostScript using OpenOffice Draw. I have used this program alot and at least to me it's a very nice program to create illustrations in. But there is some confusion as to whether the page orientation of the LabelWriter is portrait or landscape. To make things work, I measured the label-sticker using a ruler and entered the values at Format->Page . I selected landscape. On my screen I got a small page that looked like the label. The longest side was horisontal on my screen. But in File->Printersettings->Properties I changed the setting from landscape to portrait before printing. Without this last trick, the image was cut off at the left.
The reason I want to use the LabelWriter under Linux is that I like to automize
things. I want labels to be automatically printed and I want to change some of the text on the label from a script. I.e. I wan't to create a template-label once and for all and then just change some of the text each time I print. Since the OpenOffice Draw seems to send bitmap data concealed as PostScript, it was difficult to edit the PostScript-file to change the text. So I've ended up using tgif instead. This is actually a cute program. It saves in a text-format that is easy to edit from a script. It also writes readable PostScript-code that could be edited directly.
So I can now do something like this:
a) one time for all, create the label graphics using tgif, save to file.obj
b) each time I want to print a label my script can do something like this:
cat file.obj | sed 's/TEMPLATETEXT/$actualtext/' > file1.obj
tgif -print -ps -stdout filel.obj > label.ps
lpr -Pdymo label.ps
The labels look nice. I can use pictures or whatever in my templates, no problem.