Sunday, November 1, 2015

Dymo LabelWriter Duo Ubuntu Tape Setup


The Dymo LabelWriter Duo is two printers in one, the upper part prints paper labels and the lower part prints adhesive tape. Setting up Ubuntu to print to the upper label printer is easy, the tape section is more involved, so after I figured it out I thought it's worth writing down here so that you won't have to go through the same try-and-error process!

First, install the Dymo drivers on your Ubuntu system if you haven't done so yet:

sudo apt-get install printer-driver-dymo

(Alternatively, you can download the SDK from http://var.dymo.com/US/resources/sdk/linux/ and install the Ubuntu packages libcups2-dev and libcupsimage2-dev, and then run ./configure; make; sudo make install.)

Once the drivers are installed and the Dymo LabelWriter Duo has been powered up and plugged into the Ubuntu PC's USB port, the "Printers" dialog on Ubuntu (search for "printers" after pressing that galaxy-like Ubuntu icon in the upper left corner of the Unity desktop) should show this new printer:


Double-click on that new icon and you'll see the following dialog:


Now, since this is the configuration for the upper label printer and not the lower tape printer, we need to change both the "Device URI" and the "Make and Model" to talk to the lower tape printer instead.

First, click the "Change" button next to the "Make and Model" setting:


You should get a progress indicator saying that Ubuntu is searching for drivers and after a short while a list of manufacturers is shown at the bottom. If that list doesn't come up for some reason, I've found that it helps randomly clicking some of the radio buttons at the top, and returning to the "Select printer from database" setting, and the list will come up. Select "DYMO (recommended)" and click the "Forward" button at the bottom to proceed to the next screen:


You'll find "LabelWriter Duo Label" preselected, but we want "Labelwriter DUO Tape 128" instead. Click "Forward" to confirm. In the next dialog, the second radio button will be selected, but pick the first one that says "Use the new PPD ..." and click "Apply" at the bottom:


You should now be back at the main configuration screen for the LabelWriter Duo printer:



Next, click the "Change" button next to the Device URI:


The selection should be on the first item, change it to the second that says "Tape" (not "Label"). Note that the URI adds a interface=1 at the end, this is how the LabelWriter knows that you want to address the tape function, not the label function. Next, click "Apply" at the bottom and "OK" to get back to the main screen.

Click "OK" to confirm all your changes so far. The newly configured tape printer will still show as "LabelWriter Duo Label", so simply right-click on the icon and rename it:


That's it! If you want another printer (and you most certainly will) for the label part, simply unplug the printer and plug it back in. Ubuntu will then create a second icon for the label part, which you can select in your printing process if you want labels.

You can now print to the tape section of the LabelWriter Duo with the usual lpr command. Select the page size according to the tape you're using, mine is 6mm wide, so I used this:

lpr -P LabelWriter-DUO-Tape -o PageSize=6_mm__1___Label__Auto_ document.pdf

The document in document.pdf is a landscape PDF document which is 144x54 points in size, to format it you can use the following Perl script which uses the PDF::Create CPAN module. 

Enjoy!

#!/usr/local/bin/perl -w
###########################################
# dymo-tape
# Mike Schilli, 2015 (m@perlmeister.com)
###########################################
use strict;
use PDF::Create;
use Encode qw( _utf8_on );

my( $string ) = @ARGV;

die "usage: $0 string" if !defined $string;
_utf8_on( $string );

my $pdf = PDF::Create->new(
  filename => 'label.pdf' );

my $width     = 144;
my $height    = 54;
my $font_size = 20 / length( $string ) * 11;
my $adjust    = $font_size/7;

my $page = $pdf->new_page(
 'MediaBox' => [ 0, 0, $width, $height ], Rotate => 90 );

my $f1 = $pdf->font(
  Subtype  => 'Type1',
  Encoding => 'WinAnsiEncoding',
  BaseFont => 'Helvetica'
);

$page->stringc( $f1,
  $font_size,
  $width/2,
  ($height - $font_size)/2 + $adjust,
  $string );

$pdf->close;

system "lpr -P LabelWriter-DUO-Tape -o PageSize=6_mm__1___Label__Auto_ label.pdf";



Wednesday, May 18, 2011

Amazon.de has no Kindle books for my country

It took the German Amazon website a while to offer books for the Kindle in German, but to my amazement, when I went to amazon.de this morning with my amazon.com account, I get this:


You've got to be kidding: They won't let you buy books for the American Kindle from the German site?

Thursday, April 14, 2011

How Dollar Rent-a-Car Forces their Overpriced Insurance on US Customers in Germany

Dollar Rent-a-Car seems to have invented a new scheme on how to inflate rental fees for unexpecting US customers visiting Germany.

Before traveling to Munich recently, I had made a reservation on dollar.com in the US and printed out the confirmation.

When I showed up at the Dollar Rent-a-car counter at Munich airport, however, a customer service rep named Benita Brunner refused to hand out the reserved car, demanding that I purchase additional LDW insurance. 

I explained that my Visa Platinum card would cover LDW and that no additional insurance had to be purchased according to the credit card contract (also, liability insurance is included in the rental fee in Germany by law). Borderline patronizingly, she pointed at the fine print of the confirmation:


What? Apparently, Dollar wants a *cover letter* of the credit card company to accept insurance coverage? I'm not even sure the major credit card companies deal with this kind of nonsense, and I certainly didn't have a printout with me.

Long story short: They forced me to pay for insurance I already had. Instead of 168.94 Euros listed on my confirmation, I ended up paying 289.19 Euros.

That's a 71% price increase, or, by today's currency conversion rate, $174.

I'm going to file a complaint with their customer service department, just wanted to get the message out. Be careful to not step into this trap.