Chapter 29. Installing and Maintaining Print Services

Print services have changed substantially over the years and the changes for Microsoft Windows Server 2003 offer many new features and improvements. The techniques for installing and maintaining print services are what this chapter is about. When you point to Print in an application and click, the document is supposed to print on a printer somewhere. Most users don't care to know how or why printing works; they only care that it works. In that respect, printing is like networking services—something most people take for granted until it doesn't work the way they expect it to or it stops working altogether. The problem with this way of thinking is that next to file and networking services, print services are the most used feature of the Windows operating system. It takes a lot of behind-the-scenes work to ensure printing is as easy as point and click.

Understanding Windows Server 2003 Print Services

In a perfect world, the printers used by an organization would be selected after careful planning. You'd select the best printer for the job based on the expected use of the printer and the features required. The reality is that in many organizations printers are purchased separately by departments and individuals without much thought given to how the printer will be used. Someone sees that a printer is needed and one is purchased. The result is that many organizations have a hodgepodge of printers. Some printers are high-volume and others are lowvolume, low-cost. The high-volume printers are designed to handle heavy, daily loads from multiple users, and the low-volume, low-cost printers are designed to handle printing for small groups or individuals. If you are responsible for printers in your department or the organization as a whole, you might want to look at ways to consolidate or standardize so the hodgepodge of printers spread around the department or throughout the organization is easier to manage and maintain.

All printers regardless of type have one thing in common: A device is needed to manage the communication between the printer and the client computers that want to print to the printers. This device is called a print server. In most cases, a print server is a computer running the Windows operating system. When a Windows computer acts as a print server, it provides many services. It provides clients with the drivers they need for printing. It stores documents that are spooled for printing and maintains the associated print queue. It provides for security and auditing of printer access.

From a process perspective, it helps to understand how printing works so that you can better manage and better troubleshoot printing problems. The way printing works depends on the data type of the printer driver being used. There are two main data types for printer drivers:

  • Enhanced Meta File (EMF) EMF uses the Printer Control Language (PCL) page description language. EMF documents are sent to the print server with minimal processing and are then further processed on the print server.

  • RAW RAW is most commonly used with the PostScript page description language. RAW documents are fully processed on clients before being sent to a print server and aren't modified by the print server.

When you print a document, many processes are involved. Figure 29-1 shows the standard EMF printing process.

The standard EMF printing process.

Figure 29-1. The standard EMF printing process.

Here, the client establishes a connection to the print server. If it needs a print driver or if there is a new driver available, it downloads the driver and the associated settings. The client first uses the print driver to partially render the document into EMF and then spools the EMF file to the print server. The print server converts the EMF file to final form and then queues the file to the printer queue (printer). When the document reaches the top of the print queue it is sent to the physical print device.

Figure 29-2 shows the standard RAW printing process. Here, the client establishes a connection to the print server. If it needs a print driver or if there is a new driver available, it downloads the driver and the associated settings. The client then fully processes the file for printing and spools the RAW file to the print server. The print server queues the file to the logical print device (printer). When the document reaches the top of the print queue it is sent to the physical print device.

The standard RAW printing process.

Figure 29-2. The standard RAW printing process.

Okay, so that's the version at 10,000 feet—the fine details are much more complicated, as Figure 29-3 shows. The model can be applied to the mechanics of the initial printing of a document on a client to the handling on the print server to the actual printing on the print device.

A representation of printing from the client to the server to the print device.

Figure 29-3. A representation of printing from the client to the server to the print device.

Print drivers are stored in the %SystemRoot%System32SpoolDrivers folder on the print server. Assuming that a client already has the current print drivers, the printing process works like this:

  1. On a client running Microsoft Windows 2000 or later, the application you're printing from calls the Graphics Device Interface (GDI), which uses the printer driver to determine how to format the document for the selected print device. The GDI is responsible for any necessary preprocessing (converting into EMF or RAW format) of the document, which, depending on the printer driver type and configuration settings, might or might not be necessary. When it's finished with the document, the GDI passes the document to the local print spooler (Winspool.drv).

  2. The local print spooler makes a remote procedure call (RPC) connection to the Print Spooler service (Spoolsv.exe) on the print server. The Print Spooler service calls the print router (Spoolss.dll). The print router makes an RPC connection to the remote print provider (Win32spl.dll) on the client. The remote print provider then connects directly to the Print Spooler service on the print server and sends the document.

  3. The local print provider on the print server saves the document in the print queue as a print job. By default, all print jobs for all printers on a print server are stored in the %SystemRoot%System32SpoolPrinters folder. The primary spool file has a .spl extension and the control information needed to print the spool file is stored in a .shd file.

  4. The local print provider is responsible for any necessary postprocessing of the document, which, depending on the printer driver type and configuration settings, might or might not be necessary. The local print provider uses the print processor to do any necessary processing or conversion and the separator page processor to insert any separator pages if necessary. The local print provider processes the document when it reaches the top of the print queue and before it sends the print job to the print monitor.

  5. The print monitor sends the print job to the physical print device, where it is actually printed. The way spooling works depends on the print queue configuration and the printer buffer. If possible, the entire document is transferred to the print device. Otherwise, the print monitor sends the print job gradually as the print buffer allows.

Like the Registry, printing is one of those areas of the Windows operating system that is obfuscated by varying use of terminology. From a user perspective, a printer is the device that prints out their documents. From a technical perspective, a logical print device or printer is a software component used for printing. Because it is where documents are queued before printing, it is also referred to as a print queue. When you add or install a printer on a Windows system, you are installing the software—the logical print device—as opposed to the physical print device itself.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset