There has been some requests for this functionality, i.e. to be able to print out shipping labels. I open this issue to have people discuss the issue in one place.

Forum posts on the same issue:
http://www.ubercart.org/forum/support/8120/printing_shipping_labels
http://www.ubercart.org/forum/ideas_and_suggestions/13621/print_shipping...
http://www.ubercart.org/forum/support/8214/print_shipping_labels

First of all, is anyone working on this? Are the maintainers interested having this in core? Do we need to discuss the funcitonality first?

Marcus

CommentFileSizeAuthor
#3 99-012-sample.odt12.87 KBgrub3
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

davad’s picture

This functionality is already in the dev branch of the Fedex Shipping Quotes module.
http://drupal.org/node/611030

grub3’s picture

I would be interested to be able to generate PDF labels in order to print to thermal printer. I am using a Dymo laberwriter with CUPS drivers under GNU/Linux.

grub3’s picture

FileSize
12.87 KB

Dear Friends,

I am back on this issue and I would like to collaborate with someone doing some programming for a basic module, mainly interface. And I will code the PDF logic, with your help.

First, we should agree that we cannot rely on Fedex, UPS or any of these companies, simply because in Europe they are TEN times as more expansive as the National Post.

So I propose to choose the following printer, the DYMO 400 or 400 turbo, a very unexpansible label writer available on eBay. I bought three of those to be able to print at work, at home and on vacation. The advantage is that the DYMO provides CUPS drivers (Linux and Mac) as well as Windows (if you are still using Windows, drop this conversation and ask yourself why you are such a fool).

These printers are thermal printers. They can print on paper rolls sold by DYMO. Of course, you can find compatible rools on eBay.

The most usual roll for the DYMO is the 99*012 roll with 260 labels.
Whever you want to buy these labels, enter the name on eBay:
http://shop.ebay.fr/?_from=R40&_trksid=m38&_nkw=99*012&_sacat=See-All-Ca...
You can buy 2600 labels for 24€. This is 1 cent a label. Pretty okay.

The advantage of these labels is that they have a given size.
Please find attached and example of the 99*012 label.

The idea at Ubercart level would be to develop:
* a general module offering print to PDF logic.
* a module for the DYMO. This module would only offer templates for the different labels. There are not many.

For the interface, I see:

In /admin/store/settings/labels
This should display:
* Default label
A drop-down with "Printer type - Label reference". i.e. "DYMO - 99*012"
This default label can be overriden on each order.
* A list of templates.
A simple template is a printer label for a letter, according to country rules.
But some labels are more complex and we should allow printing those labels too.
An example is that some shipments require the phone number of the customer.
Or we may print the declared value for customs.
This is too complicated in the first version, we should concentrate on the usability of a simple label.

In /admin/store/orders/xxx/label where xxx is the order.
This should display:
* the same drop-down as previously, with "Printer type - Label reference". i.e. "DYMO - 99*012"
* the list of available templates
* Click on "PDF" button to export the label to PDF.

For PDF export, I understand there was some previous work using the dompdf library.
Some modules provide support and can be used as examples:
* http://drupal.org/project/invoice

So what do you think?

grub3’s picture

I tried various modules providing print to PDF solutions.
The best is probably (and simply) "Print": http://drupal.org/project/print
wkhtmltopdf is the PDF engine and it completely rocks.

All we need to print labels is to display the addess and write a very simple template.

Will get back to you soon.

TR’s picture

Title: Print shipping labels » Print mailing labels
Status: Active » Needs work

Let me define some terms:

I use "Shipping Labels" to refer to labels such as those generated by the UPS and FedEx modules which are the equivalent of a postage stamp - i.e. they contain a barcode or some other indicia that make the label legal tender for postage.

I use the term "Mailing Labels" to refer to simple address labels, displaying destination and return address. Mailing labels are not substitute for postage. I have changed the issue title to use the term "mailing label" because that's what the original poster is talking about.

It is the responsibility of the various shipping modules (*not* shipping quotes modules - please note the distinction) to provide Shipping labels for that service if at all possible. For instance, the UPS module provides shipping label support for UPS, the FedEx module provides shipping label support for FedEx, and the USPS module *can't* provide shipping label support for USPS because USPS does not provide an API to do this (cf. the many threads on ubercart.org about USPS - I don't want to repeat that discussion here).

Mailing labels, however, have no connection to any particular shipping method, so this functionality should be provided by Ubercart core, perhaps as part of the order administration page via a button to print mailing labels for the checked orders. But remember not all stores will be shipping 1 package per order, so this simple-minded UI will not be sufficient - the UI will also have to support packing the order and shipping packages individually just like UPS and FedEx do it.

So I see two things needed here. First, someone has to propose what this should look like in the UI, and second someone has to write the code and post it here in the form of a patch so it can be tested. Ubercart should not contain any printer-specific stuff. Simply generating a page of labels for display on the screen should be sufficient, because then you can use whatever printer drivers you have installed to send that to your printer (laser, inkjet, thermal, dot-matrix, whatever.) It would be nice to have a UI that lets the user specify number of labels per page or use a custom page template. Likewise, for the N-up case it should support a custom template for each individual label.

grub3’s picture

I agree with you TR.

You are right, we only need to display the shipping address of each shipment.
Using print and wkhtmltopdf, we then only need to modify the print template.
So this could be a fast and easy solution.

Just for information, in Europe we still have strong national post.
Shipping with the national post only requires stamps.
In France, for tracking, I buy additional stamps which include a barcode and this is it.
So I rarely have to print barcodes myself (even if I flash the products using a barcode reader).
Printing mailing labels could be part of core.

Kind regards.

TR’s picture

Version: 6.x-2.x-dev » 7.x-3.x-dev

I'm moving this to the 7.x-3.x queue. Let's add this feature in Drupal 7 first then backport it to Drupal 6.

larowlan’s picture

Subscribing, also - could have a sponsor for this work.

Nitebreed’s picture

Subscribing.

Any news lately?

TheoRichel’s picture

Subscribing

larowlan’s picture

@TR I've got a d6 version of this if you're interested. I'll try and find time to put it in a sandbox module in the coming days

Nitebreed’s picture

@larowlan

I'm using D6, so I'm very interested in this feature!

twooten’s picture

Hi, I'd like to have a look at the D6 module you have for printing mailing labels.

Thanks!
Tim

larowlan’s picture

http://drupal.org/sandbox/larowlan/1358646
Took me two months to sandbox it, better late than never.

acacciola’s picture

Subscribing

Jawi’s picture

Subscribing

TR’s picture

See that big green "Follow" button in the upper right of this page? Just press that - there's no need to post a comment just to "subscribe" to an issue.

And if you really want to help, try out the code in #14 and post comments / problems to the issue queue for that sandbox project.

samgreco’s picture

Has anyone come up with a solution for D7-U7.3 yet? I am trying to come up with a solution that will print just a label on a DYMO or Zebra label printer.

samgreco’s picture

Should have added: Print UPS labels (like the FedEx module) to thermal printers.

TR’s picture

@samgreco: Please read #5. This issue is about mailing labels. I answered the UPS question at http://www.ubercart.org/forum/support/31560/ups_label_printer .

samgreco’s picture

My apologies. This issue was kind of all over the place.

Problue Solutions’s picture

Tried the module in #14, couldn't get it to wok. It's just displaying a blank grey page when I click on the mailing label.

The documentation mentions manually adding arial.ttf to the modules fonts folder. The module doesn't have a fonts folder so I created the folder and uploaded arial.ttf into it. Still doesn't work though. Imagemagik is installed ok and not getting any errors so I'm not sure what else to try.

DanZ’s picture

The right way to do this is to find or develop a general-purpose mailing label module. Alone, it could accept hand-typed labels and print to PDF files or printers. It would set up font styles, label sizes, printer type, etc.

It would also define a hooks and function API that would let it integrate with other modules. Once integrated, it could import and print label data from other modules. At that point, it could get labels from Ubercart, CSV files, Commerce, user records, or whatever. Any module that maintains a table of addresses could integrate with it directly, or there could be a sub-module that would connect the two modules.

The work on the Ubercart side would be to set up a GUI to select which labels to export. Choosing by role would be one obvious choice.

DanZ’s picture

Twenty seconds with Google reveals http://drupal.org/project/mailing_label, just itching to have a new maintainer take over.

It prints labels from Views, which is a great idea.

longwave’s picture

Status: Needs work » Active

There is no patch here that "needs work".

TR’s picture

Version: 7.x-3.x-dev » 8.x-4.x-dev
Component: Code » Shipping (Fulfillment)
Issue summary: View changes
TR’s picture

Component: Shipping (Fulfillment) » Fulfillment