Label Discs With Linux and Windows Printers

There's also a serious problem that can result from sticking adhesive labels on discs: It can affect the disc's stability. For that reason, the National Institute of Standards and Technology recommends against affixing labels on C/DVDs used for archival purposes. (Learn more from this NIST CD/DVD archival care page.)

With paper labels, there another problem: At the high (and increasing) rotational rates used in C/DVD drives, if the label isn't exactly centered on the disc, the CD/DVD-R could be literally shredded apart, right inside the drive. Not only would this harm the drive, but it could also be dangerous to the user. Luckily, this doesn't happen often. But let's not invoke Murphy's Law on a computer we're responsible for.

In this TechBuilder Recipe, I'll show you how to bypass all these potential problems. I'll also show how to and print directly on printable C/DVDs, which contain a special coating intended to retain ink.

These instructions should work whether the PC system runs Linux, Windows, or OSX. When I initially prepared this Recipe, I was using Fedora Core 2 Linux. Since then, I've upgraded to Fedora Core 3. Even so, the Recipe still applies. From your point of view, the critical parts—print driver and OpenOffice 2.x—should be distribution-independent.

Sponsored post

One note of caution: This Recipe is intended to help you deploy short production runs of C/DVDs. But if you're planning to print on 100 or more identical C/DVDs at a time, you'll save time and money by simply looking for a bulk C/DVD duplication facility via Google or your local phone book—and having the C/DVDs pressed; not burned and printed with the text and imagery of your choice. (Also check out this past TechBuilder Recipe: Get More 'Burn for Buck' With Disc-Duplicators.)

Working with Canon Printers

One factor that influenced my choice of printer was an ability to print to C/DVD—and, of course, not having to spend too much extra for the feature. Only Epson and Canon support it. So, after some initial research, I bought a Canon PIXMA iP3000 photo printer. The estimated street price is just under $100, according to Canon.

If, like me, you're working with a Canon printer, the techniques in this Recipe should work, given a reasonable degree of care by the user. But Canon does not support direct-to-C/DVD printing for North American users. So if you're in the U.S. or Canada, don't expect warranty support from Canon if you accidentally damage the printer.

If you do decide to use a Canon for this purpose, and you're in North America, do not install the software that came with the printer. The Canon software is intended to prevent your printer from printing directly to a CD, not to enable it. This may be hard to believe, but it's true. If you run Linux, carefully read the driver/application section below; it will tell you where to get the non-Canon software you need to print CDs.

If you're outside the U.S. or Canada and run Windows, all you have to do is buy the Canon printer and start printing CDs. Everything should be in the box, as Canon does support this functionality outside North America.

Canon's fixed print-head and separate ink tanks mean you can simply buy the tanks instead of buying entire color/black cartridges. This will drastically reduce your print costs. The tanks are easy to refill, though I can't guarantee the stability/longevity of the dyes. I also can't guarantee the stability/longevity of the Canon OEM ink, either.

Unfortunately, a number of the newer Canon models have gone with the multi-color ink cartridge with integrated head common to other vendors. This move helps Canon increase their profits on ink, I suppose. So read the specs carefully before you buy. Make sure your new printer has ink tanks separate from the print head—unless of course, you enjoy buying ink packaged in a very expensive form!

Canon printers in Canada or overseas that support direct CD printing—including any PIXMA series printers—should do just that in the U.S. But check the Canon Europe site before buying. If a printer cannot print to CDs in Europe, it most certainly will not print CDs in the U.S.

Canon Printers That Do Support Print-to-CD

If you're working with Canon model lines IP3000,4000,5000,6000d,8500, this is for you. My instructions should also work with the IP4200,5200,6600d models. If your printer isn't listed here or is "unconfirmed" (which means "does not work"), then try Steve's Forum (listed in the Resources section below) via the site's internal search engine.

For working with IP6000, IP8500, MP750,760,780 models—or the new MP500, MP800, MP830, MP950 models—go to this Five Easy Steps page. This site appears to be kept current, so printers not listed above may be listed here by the time you read this article.

If you're a Linux user, make sure the printer you intend to buy is supported by the Turboprint driver mentioned in the "Linux Printer Drivers" section below. If it is, use the instructions that are not OS-specific on that site (i.e. firmware and creating the CD tray). Then follow the instructions about printing from OpenOffice2.0.Draw.

I found that ordinary non-printable DVDs work well for printer test purposes. After use, the ink wipes right off, and the disc is ready for reuse. If what comes out of your printer is way off, get a non-printable disc and start moving the print image around on the tray until it prints where it's supposed to on the CD. Firmware Mode Selection

The main differences between printers sold to the U.S./Canada market and the international models are:

  • The mode the printer firmware is set at by the factory.
  • A cover over the slot, in which one inserts the CD tray to print CDs.
  • A CD tray is not included with the U.S. version of the printer.

When putting the printer into service mode to select firmware versions, do not have the inner door open. Here's what the Canon IP3000 front panel looks like:

Open the inner door, and remove the CD printer slot cover. This will be a black piece of plastic covering the location marked "cd slot cover," as shown below in an IP3000 CD tray:

Pry out the slot cover carefully using a flathead screwdriver. Remember that you can open the top cover and get access to the other side of the slot, if it helps. Once you have done this, close the door to go to the next step. For more detailed information, go to this article on the Steve's Digicams site. As you get underway, the front-panel controls for a Canon IP3000 should look like this:

Canon Printer Service Mode

What needs to be done here is that the "destination" setting—which tells the printer where it is—needs to be changed from the U.S./Canada default setting to a setting that supports print-to-CD on a letter-size (8.5-inch x 11-inch) default setting.

For this section, it's important to know that you get access to the Canon printer firmware through two buttons on the front panel. These get you into printer service mode.

(By the way, I got this information below from the Canon service manual for this printer. Unfortunately, the URL from which I previously downloaded my copy no longer seems to exist. One might be available as of whenever you read this. Searching for one might be a good idea.)

The Canon printer service mode is an internal diagnostic/maintenance menu tree. You access it using the Power and Resume/Cancel buttons instead of a computer keyboard or mouse. To do so, start with the following five steps:

  • Turn off the printer (but leave it plugged in to its power supply).
  • Press/hold the Resume/Cancel button. Then press/hold the Power button.
  • When you see a green power light go on, release the Resume/Cancel button. But continue to hold Power.
  • While still holding Power, press Resume/Cancel twice. Then release both buttons.
  • The light will flash green for a few seconds and you'll hear odd whirring noises. When the Power light turns solid green, you are in service mode. The light below Resume/Cancel will go on, too.
  • Service Mode Functions
  • Once you're in Service Mode, you access each function by pressing the Resume/Cancel button the number of times called for in the list below. Each time you push the Resume/Cancel button, the power light will turn orange, then green, alternating as you continue to push. Then press the Power button to enter the sub-menu function. The Power button in this context works like a single mouse-click does on a menu in a GUI interface.
  • Once the function is entered, you will return to the original menu level, except for the Destination settings. There you have to pick a submenu function (one of which is "return to main menu") before you are returned to the main menu. You'll want the Destination Settings corresponding to letter paper-CDR printing below.
  • Here are the functions, and the number of times you'll need to press which buttons:
    • Service test print: Press the Resume/Cancel button one time. Then press Power.
    • EEPROM information print: Press the Resume/Cancel button two times. Then press Power.
    • Initialize EEPROM: Press the Resume/Cancel button three times. Then press Power.
    • Reset waste ink counter: Press the Resume/Cancel button four times. Then press Power.
    • Destination settings: Press the Resume/Cancel button five times. Then press Power. Once selected, go to the next step below:
  • Note: if your printer is, for instance, an IP4000, the Japan setting will be IP4100, and the rest will be IP4000. Other model printers will show similar model numbers variations based on DESTINATION SUBMENU settings.
  • DESTINATION SUBMENU:
    • (Power LED Orange) - Japan IP3100: Press the Resume/Cancel button one time. This changes the setting and returns you to the main menu.
    • (Power LED Green) – U.S./Canada A4 paper IP3000, no CDR printing: Press Resume/Cancel two times, then press Power. This changes the setting and returns you to the main menu.
    • (Power LED Orange) – U.S./Canada default letter paper IP3000, no CDR printing: Press Resume/Cancel three times then press Power. This changes the setting and returns you to the main menu.
    • (Power LED Green) - international A4 paper IP3000 CDR printing: Press Resume/Cancel four times, then press Power. This changes the setting and returns you to the main menu.
    • (Power LED Orange) - international letter paper IP3000 CDR printing: Press Resume/Cancel five times, then press Power. This changes the setting and returns you to the main menu.
    • Exit Destination Setting with no changes made, return to main menu: Press six or more times. If the service test or EEPROM information prints work as described in the Main Menu above, you have successfully returned to the Main Menu.
    • Print head deep cleaning: Press the Power button six times.
    • CDR test print (not used in servicing): Press the Power button seven times.
    • CDR horizontal print position correction: Press the Power button eight times. You'll probably do this in label printer software.
    • CDR vertical print position correction: Press the Power button nine times. You'll probably also do this in label printer software.
    • Return to main menu selection: Press the Resume/Cancel button 10 or more times, then press Power.
    • To exit service mode and return to normal printing: Turn the printer off by pressing Power again and hold it for a few seconds. Then, turn it on after the power light stops flashing green. Once the light stops flashing and is solid green, you can print normally. It will probably feed a blank page through the printer as it goes on.
  • The following figure shows the upper left corner of the diagnostic print when the printer is set to the factory-default non-print-to-CD setting:
  • The next figure shows the upper left corner of the diagnostic print when the printer is set to the print-to-CD setting:
  • Once you've selected your destination, you'll be in the main menu. Do the service test print. If the model number on the top left is pink and not cyan (as shown above), you're done with the firmware section and can go on to the next. Assuming the number is pink, push the Power button to exit service mode, then press again to turn the printer back on. On some printer models, a sheet of blank paper will appear in the paper tray; don't be concerned.
  • But if the print is cyan, the firmware setting change to make this a CD printer didn't work. If that's the case, go back through the above Main Menu > Destination > letter - print CD settings to make CD printing available. CD Trays
  • Next, you need to add the CD tray Canon didn't supply. The tray holds the C/DVD in the proper location so it can be fed into the printer.
  • I tried building a tray in plastic using a minimal set of tools and found that, yes, plastic can be cut using a razor blade and scissors, but this is very time-consuming. So instead, I recommend that you either buy a tray or have a plastic shop (like TAP Plastics) not only provide the plastic, but also cut the plastic layers to size and do the circular cutout for the CD tray. Just take the printed template to a plastic shop and ask them to cut two 0.039-inch (1 mm) rectangular sheets to the outside dimensions and put a circular cutout on one of the sheets, as the template indicates.
  • Another option is eBay. There is a very good chance you can find factory CD trays for sale there. This is also a way of saving the reader who doesn't have a good home workshop a lot of trouble. You can find the information on part numbers matching your printer at this Steve's Digicams page.
  • If you can't find the CD tray matching your printer for sale or are sufficiently determined or have a good home workshop setup, you can build the tray yourself as I did. See the sidebar at the end of this Recipe for the details.
  • Printer Driver Software
  • Now it's time to find drivers that will print to CD with your printer and OS.
  • Linux Printer Drivers: This won't work with the Canon Japan PIXMA Linux drivers that can be found at the Canon Japan Linux FTP site. They don't support print-to-CD or duplex printing. You'll have to buy the drivers in the form of the TurboPrint Linux printer utility, which has options the stock Canon Linux drivers don't. These options include direct print-to-CD and duplex printing. Hopefully, your printer will have a rebate that will largely offset this cost.
  • For more explanation on Canon' s PIXMA Linux drivers, see my earlier TechBuilder Recipe, Getting Windows-Based Printers to Work With Linux.
  • Since I have both the IP3000 and Turboprint drivers, I left Turboprint set permanently to the print-to-CD settings and toggle to TP0 when I want to print CDs. Here are the Turboprint printer driver settings:
    • Page Size = CD Printable
    • Media Type = CD printable
    • Media Source = CD Tray
  • To make this work, you must change three different settings. That is why I set it up to toggle between regular print and print-to-CD.
  • Windows/OSX Printer Drivers: First, do not install the software that came with your printer. You need to get the cd-print compatible driver and Canon label design (CD Label-Print) software currently available from Canon's PIXMA iP3000 page.
  • The version of the software supplied here supports print-to-CD; that's because this is a support site for European Canon users. You can also get the driver and label design software for OSX there, too, though I haven't tested it. If you have an IP4000, 5000, etc., you should be able to find the Win/OSX drivers elsewhere on the Canon Europe site.
  • If the software is no longer available on the Canon Europe site, you might be able to find the Windows version on the Web under these filenames:
    • Driver: b6100ENX.exe (9656 Kbytes)
    • Label printing: b4907enx.exe (5851 Kb)
  • For Windows/OSX systems, especially if you haven't purchased the printer yet, grab the drivers and CD Label-Print ASAP. When I downloaded this, the site said that they might require the serial number from the printer to download in future. Presumably, Canon knows which of its printers got shipped to the U.S./Canada. Making this work may also take a registry hack for people with a previous U.S. Canon PIXMA printer installation. I did not have to do it, so I refer you once again to a page on Steve's Digicams site.
  • Make sure your firmware is set correctly, as shown by the test print, before you install the EU print driver. It appears that the driver writes an entry to the Windows Registry, which prevents the print-to-CD-R setting from being visible to the user when it is connected to a PIXMA printer set for the non-CD-R printing US CD-R mode as in the factory default. You don't want this to happen.
  • Should you find it necessary to do a Windows Registry modification to enable print-to-CD mode, open RegEdit > set Export range = All. Then save a backup copy of the Registry to a convenient filename ending with .reg before modifying.
  • Once you've installed the driver, select Start > Settings > Printers > (your Canon printer). Then right-click Properties as follows:
    • Main Tab: Media Type – Printable Disc (recommended)
    • Page Setup tab: Page Size – CD-R Tray B (131.0 mm x 238.7 mm)
  • Creating a Printable CD Image in Windows or OSX
  • Now it's time to actually print to a CD. Open CD LabelPrint. Select New. A CD outline on a grid will appear on your screen. Fill it with whatever amuses you, then print as you would from any other Windows graphics app. Make sure the CD-Print driver is selected, and follow the onscreen instructions the driver will provide. Put the CD in the CD tray, and insert the CD tray in the CD print slot behind the inner door as far as it will go without forcing when it says to.
  • The printer will take it from there, pulling the CD tray into the printer, printing to the CD, and extruding the tray when complete. You can assume it's working when the tray disappears into the printer. If the print is off-center, there are horizontal and vertical offset values you can enter on the CD print driver screen that will let you center them. Here's an example of a CD-R printed from Windows:
  • Creating a Printable CD Image in Linux
  • Next, you have to find a program that will actually print CDs to the CD tray. In theory, an ordinary label program will do this. But in practice, that didn't work for me.
  • KCDlabels, a label-design program, simply wouldn't install on my computer when I ran Fedora Core 2. It also won't install now that I run Fedora Core 3, kde version 3.x. But it might work on your distribution/version.
  • I tried Glabels Label Designer, but I couldn't get Glabels to work, no matter how much time I spent tweaking the XML template for the Epson print-to-cd glables setup from Sourceforge. Every time I thought I'd instructed the program (by changing the XML file) to change the location the disc image was printed to, it went somewhere else.
  • If you'd like a copy of the glabels template as modified by me, download it here and unarchive it to /usr/share/glabels/templates. Then go to Defining new gLabels templates for gLabels 2.0.x to get the information on formatting and syntax of glabels template files. To open it, open Glabels, select New (document), select Other for paper size, and CanonPIXMA for type.
  • If you adjust the configuration file, you'll have to close glabels and reopen it to see if it works. It reads the configuration file when the program is opened. If you get this to work, please let me know via e-mail: alizard@ecis.com.
  • I now suspect that I've got the same scaling problem that other graphics programs printing via CUPS had. The image size as rendered by the printer isn't what the template leads the program to expect. In light of that, I used Open Office 2.0 Draw (OO-Draw) instead. I must admit, I'm not sure why this works. The 5.25-inch recommended drawing area does not correspond to anything I know of with respect to CD dimensions. And the 4.88-inch print diameter as set is larger than the CD is supposed to be. But it works for me and should work for you.
  • Having said that, if it prints way too large, or refuses to print at all because the print setup is giving the wrong tray dimensions to OO-Draw, you might want to try glabels. Perhaps glabels can pick up the right tray dimensions.
  • Here are 12 steps you'll need to take to print to CD from OO-Draw:
    1. Create a 4.88-inch diameter circular background image in the paint program of your choice and save (.jpg works well enough).
    2. Open Draw and create a new drawing document.
    3. Format > Page Size> Modify the page size as follows: 5.25-inches horizontal, 5.25-inches veritcal, set all margins to 0.00, set Paper Tray to "From Printer Settings."
    4. Import or paste the background image into the Draw document. (You can also draw the circle within Draw.)
    5. Select the circular object by clicking on an edge.
    6. Format > Image location: enter 0.00 Position X, 0.20 Position V. Do not set checkboxes. If the image is printing off-center, fix the problem from here.
    7. Place text elements on the background wherever you please.
    8. Save.
    9. Go to Print options. Open the turboprint driver (it should be tp0) . Click the Properties button. Paper size should be CD-printable, Paper tray should be CD tray. Go to the Device tab and select Media Type from the left screen menu, which should be set to CD printable.
    10. Put the CD in the CD tray. The tray goes in with the CD and reflectors face up. The end with the reflectors goes in first.
    11. Open the inner door, insert the CD tray in the slot as far as it will go between the side guide rails without forcing.
    12. Print using the OO-Draw menu or toolbar Print command.
  • Here's how a CD-R printed from Linux should look:
  • Troubleshooting
  • No matter what environment you print to CD from, if you get two orange flashes from the power light and no printing, it means that the printer isn't seeing the CD tray. If you get seven flashes, it means either the tray isn't placed correctly, or the printer doesn't see a printable CD in the CD slot. For the latter, see if the driver can be set to ignore whether there's a CD in the tray. Or you might try another printable CD, especially if you've been using a printable CD more than once to adjust the print location. The printer doesn’t like dark images on CDs.
  • In the Windows driver, the setting is: Start > settings > printers > (Canon Printer you're using) > Maintenance > Custom Settings > Detect Printable Disc checkbox. (There is no such setting for the Linux driver.) If this doesn't work, check your tray, as it probably means one of the dimensions is off or the tray isn't opaque enough.
  • If you've carefully followed the instructions in this Recipe, you should now have a reliable, inexpensive printer that prints to printable CDs and DVDs. Congratulations!
  • Sidebar 1: Additional Resources
  • To make your printer print CDs successfully, you may need more information than this Recipe can provide. Here are my favorite resources:
  • * Steve's Forum: This site contained nearly 80 pages the last time I looked. If you have problems with your setup, these are the people to ask. If you can't find an answer already posted, use the site's internal search engine to check for your answer first.
  • Unfortunately, Steve's Forum probably cannot help you with Linux systems. As far as I know, the Recipe you are now reading is the only how-to information anyone has published anywhere on Linux printing to CDs.
  • * The Canon CD-printing manual. This is the Canon manual describing how to print using Windows or OSX software with CD Label-Print. It provides far more how-to detail than any short article can.
  • * Printing FAQ for the Americas: Several parts of my recipe reference various pages of this site. This is the parent URL, in case you need information I didn't provide here.
  • Sidebar 2: DIY CD-Tray Construction
  • If you can't buy a CD tray matching your printer, or if you are sufficiently determined and have a good workshop, you can build the tray yourself. But be prepared; it's not easy.
  • The following information is for the type "B" tray, which is by far the most common. It is used on the IP3000 / 4000 / 5000/ 6000d, for example. For information on other types of trays and which printers they work with, go to this Steve's Digicams page.
  • If you hire a plastic shop to do the hard parts, the job should go a lot faster. Then all you'll have to do is glue the layers together and affix the reflectors. If you got clear plastic, paint the top and bottom with flat black paint before assembly.
  • You can get the template and detailed instructions on various ways to build a CD tray on Steve Digicam's site. Another place you can get the template—and basic how-to instructions printed on the face of the template—is at this Canon CD-R Cardboard Tray Template page.
  • First, you need to accurately print the template image. Regardless of whether you do this in Linux or Windows, measure the outside dimensions of the image afterwards to make sure that it is 239 mm vertical x 131 mm horizontal. For Windows systems, any graphics program that reads Jpeg should work. But measure the printed image anyway. For Linux systems, the only graphics program I've found that actually prints an image at the correct tray dimensions is OpenOffice 2.0 Draw.
  • Using this application, you simply open a new doc, import the Jpeg template file to the document, and print. Everything else I tried prints oversize at 143 mm wide x 274 mm high (image distortion differs between width and height axes). I don't know if it's my Linux setup or a problem common to kuickshow and kview or CUPS (all standard Linux graphics programs). But OpenOffice is readily available. If you have v1.x, you should upgrade anyway. The problems I had with 1.x (UI and SLOW program/file opening) have disappeared in 2.0. Here are some OpenOffice (2.0) installation tips to help you:
  • Materials: While it's possible to use posterboard and other materials, I went with thin-sheet plastic, which is dimensionally stable, readily available, and less likely to shred or shed particles than posterboard. Though as long as the reflectors are in place, and the substrate is both opaque and of the right thickness, almost anything that's reasonably solid should work. Just remember that the dimensions—particularly for the reflector and hole placement—are critical.
  • You need a piece of plastic about 0.040-inch (1 mm) thick and big enough to contain two 239 mm vertical x 131 mm horizontal rectangles and a piece of aluminum foil. Opaque dark plastic is preferable. If you have clear or translucent plastic, paint it flat black paint before assembling.
  • How you proceed depends on what kind of tools you have. Simply follow the instructions printed on the template. That is, cut two sheets to the same rectangular dimensions, cut the circle that holds the CD tray on one sheet, stack the two sheets together so the edges match, and put the three foil reflectors exactly where the template shows.
  • Do this in a well-lighted area. And if you use noxious adhesives—such as model-airplane glue—make sure your work area is well ventilated.
  • Here is a look at my own DIY printer tray:
  • A. LIZARD is an Internet consultant in the San Francisco Bay Area. He has been writing for technology magazines and Web sites since 1987.
Close