Tech Note: Blank Output in Windows
PrintOMatic Lite MX Xtra, PrintOMatic Lite Xtra 1.6.5, PrintOMatic MX Xtra, PrintOMatic Xtra 1.6.5
Blank or garbled output from PrintOMatic and PrintOMatic Lite for Windows is almost always a result of two factors: 16-bit color depth, combined with out-of-date or poorly written print drivers, particularly drivers for Hewlett-Packard and Lexmark printers. The problem sometimes occurs with systems set to 32 bit color, in addition to 16 bits. The problem is more prevalent with larger images than small.
Windows (all versions)
If you are having problems printing a LINKED cast member, consult the tech note "Linked Cast Members Don’t Print"
Nearly every problem with printing true color images or screen shots with PrintOMatic can be attributed to out of date or flawed printer drivers, specifically those distributed by HP and Lexmark for their black-and-white printers.
Just because other programs can print doesn’t mean your drivers are OK. Part of the problem is that very few programs actually send 16-bit data to the printer. Photoshop, for example, always sends 24-bit data to the printer, regardless of the source bit depth.
The blank output problem most commonly occurs when using Hewlett Packard or Lexmark print drivers to print to a black & white HP or Lexmark printer. We are discovering that these are the worst print drivers in the industry, with the most poorly implemented color support. HP and Lexmark are virtually the only manufacturers whose drivers have color printing flaws that cause PrintOMatic pages to come out blank.
If you are printing the Stage, you can improve your results by printing the stage in small pieces. Read our tech note Fixing Blank Output in Windows for more information. If you are using PrintOMatic / PrintOMatic Lite MX, this feature is built into the Xtra, so you don’t need to script it yourself.
PrintOMatic is one of a very few programs that actually send data to the printer at the source bit depth, which for many people running Windows 95 and NT, happens to be 16 bits per pixel.
A bit of history. In Windows 3.1 and earlier, the only "legal" bit depths for DIB data (Windows’ internal format for bitmapped images) were 1, 4, 8,and 24. The format was very rigid, and very simple. When Microsoft wrote Windows NT and 95, they expanded the DIB format to include a number of new bit depths (16 bits among them), and a number of extra features for handling true-color images better.
When printer driver developers updated their Windows 3.1 drivers to work in Windows 95 and NT, many of them forgot about the expanded DIB format that these operating systems supported. Some who didn’t forget simply did a poor job of implementing 16-bit support. (Developers of VIDEO drivers were much better about this.) The result was print drivers that didn’t support 16-bit image data, or did so poorly, even though the operating systems now had full 16-bit color support.
Over the past couple of years, most driver developers have finally stepped into line with 16-bit image data support. As a result, getting the latest version of the drivers for your printer will often solve the "blank page" bug when printing true color images with PrintOMatic.
However, many HP print drivers, especially drivers for their black & white printers, still contain color printing flaws as described above.
Another problem lies in the memory management routines of these drivers. Many of these print drivers will print 16-bit images, as long as they are small. When the images get bigger, or the print resolution increases, the drivers fail. This happens regardless of how much memory is available on yoru computer.
- Update your print drivers to the latest version from HP’s web site.
- Manually change the screen depth to 8 bits (most reliable) or 24 or 32 bits.
- Detect the screen depth usingthe colorDepth. If the colorDepth = 16, then alert the user and use an Xtra like The DisplayRes Xtra to switch bit depth on the fly. (A tutorial on the DisplayRes Xtra is beyond the scope of this tech note.)
- If you are printing the Stage, try printing the stage in pieces. Try the code in our tech note Fixing Blank Output in Windows