Enable Advanced Printing Features

Background

If you right click on your favorite printer in Windows "Printers and Faxes", you will find a little check box labeled "Enable Advanced Printing Features" on the "Advanced" tab. Of all the printing features found in your print driver and printer properties, this is perhaps the most mysterious. Having a check in that box when printing photographs (particularly large prints) can cause a multitude of problems from error messages to missing pieces of photos or blank pages. Remove the check and you may start to experience other issues such as longer print processing times or failure of the print driver to "release" the printing application in a timely fashion after it is finished processing. In this article, we'll take a quick look at this mysterious printing feature, try to give it some meaning, and we'll look at how my recently released Qimage 2007 photo printing software can make working with this feature a bit easier.

Two printing modes: raw and EMF

When working on the "Advanced" tab of your printer properties in the Windows "Printers and Faxes" dialog, unless you check "Print directly to printer" (which is normally not recommended), Windows will spool data to your printer. Since most printers accept data much slower than the printing application can process it, "spooling" can make life easier by capturing the data going to your print driver, putting it in a holding area (temp files on your hard drive), and then spooling it in the background later, at a transfer rate that the printer can handle. In a sense, the spooler is the middleman between your printing application and the printer and it sits in the background "feeding" the printer as fast as it can take the data.

Windows employs two methods of feeding the printer via the print spooler: raw and EMF (enhanced meta-file). Let's take a look at both spooling methods.

EMF: "Enable Advanced Printing Features" ON

If there is a check in "Enable Advanced Printing Features", you have turned EMF printing on and have told Windows that it can defer some of the print processing until later. Data is saved and the spooler later feeds each page to the print driver for further processing by the driver before it is finally sent to the printer. With "Enable Advanced Printing Features" checked, your printing application will likely finish it's processing job faster and control will be returned to the application faster. This is because the data being sent to the spooler is simply "stored" as a meta-file that is not fully processed (actually sent to the driver) until later, when the spooler begins sending data to the printer in the background. Sounds like a win-win, right? Well, almost.

One major drawback to the EMF printing mode is that, while the printing application will be able to finish processing data faster, a (sometimes much) larger spool file will be created because there is simply more overhead in the EMF spool file format in most cases. These larger spool files can cause problems if you are running low on hard drive space or you are printing to a network printer.

In addition, since EMF printing involves the spooler "talking to" the print driver at a later time to finalize data, a lot depends on the print driver being used as to how much additional space will be required for the EMF format, or even whether the EMF format will work with the printer. While most printers can handle EMF printing, some more specialized printers may not come with standard Windows drivers and if they don't, chances are they will not work in EMF mode because, well, there is nothing for the spooler to "talk to" later. In such cases, "Enable Advanced Printing Features" must remain unchecked.

EMF: "Enable Advanced Printing Features" OFF

If "Enable Advanced Printing Features" is turned off (unchecked), Windows will create a spool file in the raw format. That is, the driver is invoked up front (as your printing application is processing the data/pages) and the raw data that is ready for the printer to receive is spooled into file(s) on the hard drive. Due mostly to halftoning and the fact that most inkjet printers don't offer continuous color for each printed "dot", these raw files are usually smaller and therefore create smaller spool files on the hard drive. This is often helpful when printing to network printers or when running low on drive space. When printing in the raw mode with "Enable Advanced Printing Features" turned off, your printing application will likely pause at the end of every printed page while the print driver is invoked to decode the raw data that needs to go to the printer. These pauses can sometimes be lengthy (up to 30 seconds or more on larger pages) and can really add to the amount of processing time needed by the application you are using to print. Sound like a bad idea to print in this mode? Well, not really.

Simply put, raw printing with "Enable Advanced Printing Features" turned off is more reliable. While the initial processing may be slower, normally less disk space will be required and that can result in more reliable printing on drives that are low on disk space. In addition, some older operating systems and/or older print drivers may have a limit on the amount of data that can be read by the spooler in EMF mode, meaning that printing in raw mode may allow you to print more data or larger prints than the EMF mode. Since EMF printed data is only partially processed, large EMF print jobs sometimes fail due to the inability of the spooler/driver to finish processing data when dealing with large jobs. Raw printing, on the other hand, can be more reliable simply due to the fact that the spooler doesn't have to continue to communicate with the print driver to finish processing the data: the raw data is already ready for output.

What's best in practice?

I've printed 44 x 96 inch prints and larger at 720 PPI without incident with "Enable Advanced Printing Features" turned on. Because having this option checked can make life easier by allowing your printing software to finish processing faster, I'd recommend leaving "Enable Advanced Printing Features" checked unless you have problems. If you uncheck it, you will start to notice things like pauses after each printed page and a (potentially substantial) delay between when your printing software finishes printing and when Windows returns control to that application. In addition, turning off (unchecking) "Enable Advanced Printing Features" will disable the print preview function on Canon printers, so if you are wondering why "Preview" is grayed out in your Canon print driver, it might simply be because you don't have "Enable Advanced Printing Features" checked.

By far, the most common symptom of problems related to checking the "Enable Advanced Printing Features" option is missing print data. If this option is checked and you start to get prints that are only partially printed, pages that are missing, hard drive space errors, or other issues that can't be tracked down to other areas, you may wish to uncheck "Enable Advanced Printing Features". If the problem disappears, you'll know to leave that box unchecked in your printer properties.

Again, on most systems, checking "Enable Advanced Printing Features" will result in faster processing. While that won't speed up your printer, it will definitely result in your printing software being able to process the job faster and that means returning control to you faster so that you can do more work while the printer is printing. If you don't want to get into the details of changing these settings in Windows or you are having trouble remembering which option has which benefits, I've designed my recently released Qimage 2007 photo printing software to be able to print either way. Simply use "Edit", "Preferences", "Printing Options" and you can set the spool type to either the default "EMF - Faster printing" or "Raw - Large prints". Qimage will make sure that other corresponding options such as the spool data type are set optimally and that "Enable Advanced Printing Features" is checked/unchecked in your printer's properties based on your selection.

-- Mike Chaney