Back Up Next

Chapter 9 *
Printing *
Certification Objectives *
Overview of Printing Terminology *
Printing Devices *
Printing Software *
Windows NT Print Model *
Graphics Device Interface (GDI) *
Print Driver *
Print Router *
Print Spooler *
Print Processor *
Exercise 9-1: Changing the default data type for a printer *
Windows NT Print Processor *
Macintosh Print Processor *
Print Monitors *
lpr *
Hewlett-Packard Network Port Print Monitor (Hpmon.dll) *
Print Jobs *
Installing Printers *
Creating a Local Printer *
Exercise 9-2: Creating a local printer *
Sharing a Printer *
Exercise 9-3: Sharing a printer on the network *
Connecting to a Remote Printer *
Exercise 9-4: Connecting to a shared printer *
Network Interface Printing Devices *
From the Classroom *
Problems Printing to Network Attached Printers *
Configuring Printers *
General Tab *
Separator Page *
Print Test Page *
Ports Tab *
Printer pooling *
Exercise 9-5: Creating a printer pool *
Scheduling Tab *
Priority *
Exercise 9-6: Enabling printer priorities *
Spooling Options *
Sharing Tab *
Security Tab *
Permissions *
Auditing *
Ownership *
Device Settings Tab *
Managing Print Jobs *
Exercise 9-7: Managing print jobs *
Troubleshooting Printers *
Answers to Chapter 9 Self Test *

Chapter 9

Printing

Certification Objectives

Overview of printing terminology
Installing printers
Configuring printers
Managing print jobs
Troubleshooting printers

This chapter describes how printing takes place on an NT Server. First, it will cover terminology, because NT uses a definition for printers and print queues that is a little different from what you may be used to. We'll take a look at the NT print model and see how it uses print drivers and print processors. Then we will discuss how to create, share, and connect to printers. After explaining how to create a printer, we'll explain the configuration options in depth and show how to edit the registry to change some settings. Finally, we'll take a look at how you can troubleshoot some print problems.

Overview of Printing Terminology

Microsoft defines printing terms in a slightly different way from definitions you have probably seen in the past. To begin a discussion about NT printing you should first understand some of their definitions.

Printing Devices

Printing devices are what you commonly refer to as printers. The term refers to the actual hardware that prints the document. Why did Microsoft change the term? Because when they refer to a printer, they are referring to the software that manages the printing devices.

Printing Software

Printing software is the printer. As mentioned in the previous paragraph, a printer is the software that manages a specific printing device (or devices, in the case of printer pooling). The printer determines how the print job gets to the printing device. Does it go directly to the parallel port, the serial port, or via the network? One printer can manage one or more printing devices. NetWare refers to this as the print queue, but Microsoft considers the print queue to be the actual documents that are waiting to be sent to the printing device via the printer. Remember, a printer is not the hardware device, but the software interface.

Windows NT Print Model

Here are the steps in the Windows 4.0 NT Print sequence:

  1. The user at an NT server prints a document. The Windows application calls the graphics device interface (GDI). The GDI calls the print driver for the selected printing device. Using the print device information from the print driver and the document information from the application, the GDI renders the print job in the appropriate language.
  2. The print job is sent to the spooler. The client side of the spooler makes an RPC to the server side spooler, which makes a direct application programming interface (API) call to the router. The router passes the print job to the local print provider, which then spools it.
  3. The local print provider polls the print processors. Once the print processor recognizes the job's data type it receives the print job and modifies it, if necessary, according to its data type.
  4. Control of the print job passes to the separator page processor. If configured to do so, this processor adds a page to the front of the print job.
  5. The job is despooled to the print monitor. If the printing device is not bi-directional, the job goes directly to the port monitor, which transmits the print job to the printing device. If the printing device is bi-directional, the monitor is a language monitor, which handles bi-directional communications with the printer and then passes the job to the port monitor.
  6. The print device produces the printed document.

Figure 9-1 is a graphic depiction of the NT print model.

Figure 1: Overview of the printing process

Graphics Device Interface (GDI)

The GDI controls how graphics are displayed on the monitor and printers. It provides a set of standard functions that let applications communicate with graphics devices without knowing anything about the devices. From an application point of view, the GDI enables application code to be independent of the hardware devices and their drivers. Hardware vendors only have to write a minidriver to interact between the GDI and their hardware. The application sends commands to the GDI and the GDI uses the minidriver to send commands to the hardware.

Print Driver

Print drivers are the software that allows an application to communicate with printing devices. Print drivers contain three files, which act together as a printing unit. If the client printer is point-and-print capable (Windows NT and Windows 95) the version of the driver on the client is compared to the version on the server before sending the print job. If the server has a newer driver, the client's driver is automatically updated with the server's driver as the newer driver is downloaded to the client.

Printer Graphics Driver

The printer graphics driver, which is always called by the GDI, provides the rendering portion of the printer driver. In other words, it translates print data into a form that the printing device can read, as described later in this chapter.

Printer Interface Driver

The printer interface driver provides the user interface for configuration management of the print driver. It converts output from the application to a format understood by the print device.

Characterization Data File

The characterization data file contains all the printing device specific information, such as page protection, graphics resolution, memory, paper size and orientation, printing on both sides of the paper, etc. The printer interface and the printer graphics driver use this file whenever they need printing device specific information.

Print drivers are usually not binary compatible. This means that each different type of operating system and hardware platform that needs to print to the printing device has to have a print driver compiled for it. Thus you can't use a Windows 95 print driver on a Windows NT machine, nor can you use a Windows NT 3.51 print driver on a Windows NT 4.0 machine. Because the NT 4.0 workstation and the NT 4.0 server have identical core components, the two operating systems can use the same print drivers. However, they must have the same hardware platform; for example, Intel print drivers can't be used for an Alpha.

Windows NT provides three generic print drivers, one to support each of the three basic types of print devices: raster, PostScript, or plotter. The three generic print drivers are:

Universal print driver (unidriver), also known as the raster driver because it provides raster graphics printing. The unidriver carries out requests on most types of printers. Each hardware vendor writes a printing device minidriver that operates with the unidriver to communicate with its print devices.
PostScript print driver uses Adobe version 4.2 compatible PostScript printer description (ppd) files. The PPD files are the only printer driver files that are binary-compatible across operating systems.
HP-GL/2 plotter driver supports several different plotters that use the HP-GL/2 language. It doesn't support the HP-GL language.

Print Router

The print router routes the print job from the spooler to the appropriate print provider.

Print Spooler

The print spooler is a service that actually manages the print process. It's responsible for:

Tracking which print jobs are going to which printing device
Tracking which ports are connected to which printing device
Routing print jobs to the proper port
Managing pooled printers
Prioritizing print jobs

The spool file folder’s default location is the %systemroot%\system32\spool\printers folder. To stop and start the spooler service, you can use the control panel service application or use the NET START SPOOLER or NET STOP SPOOLER command

Print Processor

The print processor completes the rendering process if necessary and returns the job to the spooler. Rendering is the process of translating print data into a form that a printing device can read. Since each type of client creates print jobs differently, different print server services are required to receive and prepare the jobs. The print processor performs different tasks depending on the data type. The default data type is Enhanced Metafile for PCL printers and RAW for PostScript printers. Exercise 9-1 explains how to change the default data type.

Exercise 9-1: Changing the default data type for a printer

  1. Click Start | Settings | Printers.
  2. Right-click the printer for which you wish to change the default data type.
  3. Click Properties.
  4. Click the General tab.
  5. Click the Print Processor button to open the Print Processor dialog box shown in Figure 9-2.
  6. Figure 2: Print Processor dialog box

  7. In the Default Datatype list box choose the data type.
  8. Click OK.

Windows NT provides two print processors: Windows print processor and Macintosh print processor. Printing device vendors can develop a custom print processor if needed.

Windows NT Print Processor

WINPRINT.DLL is the primary Windows NT print processor. It supports five data types:

  1. EMF Print jobs received from NT clients are Enhanced Metafiles (EMF). Unlike the RAW printer data generated by the printer driver, EMF information is generated by the GDI before spooling. After the EMF is created, control returns to the user. The EMF is interpreted in the background on a 32-bit printing subsystem spooler thread and sent to the print driver. The EMF has two advantages: it returns control of the application to the user immediately, without waiting for printer calls to be interpreted by the print driver; and EMF files can be printed on any printing device.
  2. RAW Raw files are fully rendered print data, which require no processing from the print processor. Encapsulated PostScript (EPS) is an example of a raw data type because it doesn't need print processor interpretation. EPS files are sent directly to the spooler for routing to the graphics engine.
  3. RAW (FF Auto) This data type tells the spooler to append a form feed character to the end of each job if it isn't already present. This is used to print the last page on a PCL printing device if the application doesn't send a form feed.
  4. RAW (FF Appended) Like RAW (FF Auto), this data type appends a form feed character to the end of the job. However, it always adds a form feed character—even if one is already present.
  5. TEXT Raw text with minimal formatting. The print job is in ANSI text. It uses the printing device's factory defaults for printing the document. This is used for printing devices such as PostScript printers that can't accept simple text jobs.

Macintosh Print Processor

This print processor (SFMPSPRT) is installed when Services for Macintosh is installed. It supports the PSCRIPT1 data type. It indicates that the print job is level 1 PostScript code, but the printing device isn't a PostScript printer. The images are converted into monochrome raster graphics for printing to the printing device.

Print Monitors

The print monitor controls access to the printing device, monitors the status of the device, and communicates with the spooler—which relays device information via the user interface. The print monitor controls the data going to a printer port by opening, closing, configuring, writing, reading, and releasing the port.

The print monitors supplied with the NT operating system are:

Local Port LPT1, LPT2, Com1, Com2, and so forth.
Digital Network Port Supports both TCP/IP and DECnet protocols for digital network printing devices. The DECnet protocol doesn't ship with NT.
Lexmark DLC Port Supports Lexmark DLC printing devices.
Lexmark TCP/IP Port Supports Lexmark TCP/IP printing devices.
LPR Port Supports printing to UNIX LPD printing devices.
Hewlett-Packard Network Interface Supports printing to HP JetDirect enabled printers using DLC protocol.

lpr

The lpr command is used to print to Unix print servers and LPD capable network interface printing devices. To use this service you must install the network service Microsoft TCP/IP Printing from the network control panel. After installing this service you can submit print jobs to LPD print servers using the following case-sensitive syntax:

lpr -S <server name> -P <printer name> <filename>

Windows NT can also act as an LPD print server for Unix clients. First, you must install Microsoft TCP/IP Printing from the network control panel. Second, you need to start the TCP/IP Print Server service via the services control panel applet or use the command NET START LPDSVC.

Hewlett-Packard Network Port Print Monitor (Hpmon.dll)

Hpmon.dll sends print jobs to HP JetDirect adapters. JetDirect cards can communicate using different protocols, including DLC, IPX, TCP/IP, and AppleTalk; however, the Hpmon.dll must use DLC. Since Hpmon.dll requires the DLC protocol you must have DLC loaded on your system before using the HP network port print monitor. In fact, you won't even be given the option to use the HP network port print monitor unless DLC is installed.

Hpmon.dll can only manage printers over one network adapter, which must be adapter 0 or adapter 1. If your server is printing to multiple JetDirect cards and your server has multiple network cards, you must have all the JetDirect enabled printers connected to only one of the cards. In other words, they must be on the same physical subnet.

Print Jobs

Print jobs are source code consisting of both data and commands for print processing. All print jobs are classified into data types. The data type tells the spooler what modifications need to be made to the print job so it can print correctly on the printing device.

Installing Printers

You can create printers two ways in NT. You can use the Add Printer wizard or you can use Point and print. To manage printing you use the Printers folder. The Add Printer wizard is located inside the Printers folder. There are three ways to access the Printers folder:

Click Start | Settings | Printers.
In Control Panel, double-click the Printers folder shortcut.
In My Computer, double-click Printers folder.

Creating a Local Printer

A local printer can be a print device connected directly to a port on your computer or to the network. Don’t confuse a printing device directly connected to the network with a shared network printer. A printing device connected directly to the network may be a local printer if your spooler can send jobs directly to the printing device. Exercise 9-2 teaches you how to create a local printer.

Exercise 9-2: Creating a local printer

  1. Open the Printers folder.
  2. Double-click the Add Printer wizard.
  3. Choose the My Computer option button, then click Next.
  4. Click the check box for the port your printer is connected to (probably LPT1), then click Next.
  5. Choose the printer driver by selecting the manufacturer from the left window pane, then selecting the correct model. If your model doesn't appear on the list, you'll need to click the Have Disk button and supply the path to the driver. Click Next.
  6. Give your printer a name (up to 32 characters) and choose whether or not you want it to be the default printer. Click Next.
  7. You can share your printer, but for now make sure Not Shared is chosen. Click Next.
  8. Choose Yes to print a test page, then click Next.
  9. Make sure your NT Server CD is in your CD-ROM drive, then click Finish.

Sharing a Printer

Sharing a printer on the network allows other users to print to a printing device connected to your computer. Users' workstations will first spool the print job to their spooler, then send the job to the server's spooler for final processing and printing. If the local computer doesn’t support local spooling, the print job will be sent directly to the server’s spooler.

You can share the printer when you create it locally or later after it has been created. Exercise 9-3 shows you how to share a printer on the network after it's been created locally on your system.

Exercise 9-3: Sharing a printer on the network

  1. Click the Sharing tab in the Printer Properties dialog box.
  2. Give the printer a share name (the default is the first 8 characters of the printer name).
  3. Choose any other operating systems that will print to this printer. This tells NT to load the drivers for each of the selected operating systems; when users point and print, the correct driver will automatically be copied to their system.
  4. Click OK.

Connecting to a Remote Printer

To connect to a remote shared printer on another NT server, you only need to double-click the printer icon; that printer is automatically installed on your system (assuming the correct driver is loaded). This is called point and print. You can also use the Add Printer wizard to connect to a remote shared printer. Exercise 9-4 shows how to connect to a remote printer using point and print. To do this exercise, you'll need to have a printer shared on another Windows NT 4.0 server. (Refer to Exercise 9-3 if you need to set up a shared printer.) If the printer has a different hardware platform, the appropriate driver for your system must be installed on the shared printer's server.

Exercise 9-4: Connecting to a shared printer

  1. Browse the network neighborhood and double-click the computer that has the shared printer you want to connect to.
  2. Double-click on the printer you want to connect to. NT will start the Add Printer wizard to install the printer on your system.

Network Interface Printing Devices

A network printer is a printer that attaches directly to your network. It isn't connected to a computer's serial or parallel port. NT supports Hewlett-Packard JetDirect cards using the DLC protocol, DEC network printing devices using DECnet or TCP/IP protocols, Lexmark network printing devices with DLC or TCP/IP protocols, and any other device that supports LPD using TCP/IP. You can set printers on all your workstations to print directly to a network interface printing device; however, it is common practice to set up a print server to print to the network interface printing device and share that printer out using NT network shares. This improves the performance of the workstations because additional protocols do not need to be loaded on the clients.

Exam Watch: Be sure to understand that Hewlett-Packard JetDirect cards require the DLC protocol to be loaded on your system. Because DLC is not a routable protocol, the print server and the printing device must be on the same side of a router.

From the Classroom

Problems Printing to Network Attached Printers

NT makes a dandy print server for HP JetDirect type devices. Configuration is typically straightforward until you come to point where you must select a port. Students often complain they can't find the Hewlett-Packard port. Here's the trick. By default, there is no Hewlett-Packard facility: it is installed when you install the DLC protocol. If you do not see the HP facility, check to insure that DLC is installed.

Another problem can occur when you start to add a new port and are presented with a list of the MAC addresses of the attached HP devices. To select the appropriate printer, you need to know its MAC address. You can get this information by printing a test page at each printer. Don’t forget to label the page to indicate the printer it came from! This might seem trivial, but it happened to us. We were helping a client reconfigure their network, which included setting up printer servers for their HP printers. Of course, the client did not have the MAC addresses for the devices and asked a technician to print a test page from each printer and collect the addresses. After some time, the technician returned and dropped 60 test print pages on the desk. Unfortunately, there was nothing to indicate which test page came from which printer, so we had no way to tie the MAC addresses to a particular printer. The tech had to repeat his work—this time marking the test sheets with the printer locations!

Here's an even knottier problem: When you are setting up new printer servers, NT displays a list of all MAC addresses on the network—even those that have been assigned to use a different NT computer as the print server. If you tell NT to configure a second NT computer as a print server for a previously assigned MAC address (regardless of whether you do it deliberately or accidentally), NT will accept your request. You now have two printer servers attempting to serve the same printing device. This will probably insure that no print job will get printed at the printer. The moral to this story is: "Keep track of which MAC addresses are configured at which NT print servers."

Configuring Printers

The options you can configure depend on the printing device you have and the driver that manages it. Some printers allow printing on both sides, printing from different paper trays, different fonts, and various other options. These options are configured using the Device Settings tab. Although some options vary according to the driver, there are several common options that can be configured on all printers. To configure the common options you use the following tabs: General, Ports, Scheduling, Sharing, and Security.

General Tab

The General tab shown in Figure 9-3 is used to identify the driver you want to use, describing the printer and telling network users where it's located. It also allows you to select a separator page, change the print processor, and print a test page. The key item here is the ability to change the printing device driver.

Figure 3: General tab

Separator Page

The separator page is used to identify the start of a print job. It helps users identify where their print job stops and the next one begins. A separator page is also used to switch between PostScript and PCL printing. The Separator Page dialog box is shown in Figure 9-4.

Figure 4: Separator Page dialog box

By default NT does not print a separator page; you must first configure a separator file. NT provides three separator files (located at %systemroot%\system32) or you can write your own.

PCL.SEP Switches Hewlett-Packard printers to PCL mode for printers not capable of auto-switching. It also prints a separator page before each document.
PSCRIPT.SEP Switches Hewlett-Packard printers to PostScript mode for printers not capable of auto-switching.
SYSPRINT.SEP Prints a separator page for PostScript printers.

You don't have to use one of the Microsoft predefined separator pages. You can create you own if you like. Use the escape codes listed in Table 9-1 to create your customized separator page.

Code Action
\<number> Skips specified number of lines (1-9)
\B\S Prints text in single-width block mode
\B\M Prints text in double-width block mode
\U Turns block mode off
\W<width> Sets width of page (must not exceed 256)
\E Eject page
\F<filename> Print a file
\H<code> Send hexadecimal ASCII code
\I Print job number
\L<text> Print specified text
\N Print username of owner
\D Print current date
\T Print current time

Table 1: Separator Page Escape Codes

Print Test Page

Printing a test page prints a document to the printing device. The document lists the .dll files used by the print driver.Windows NT asks you if the document printed correctly. If you answer No, a step-by-step help feature assists you in troubleshooting the problem.

Ports Tab

The Ports tab shown in Figure 9-5 lets you choose a port for the printer, and it allows you to add or delete ports from your system. This is also where you enable printer pooling. The Configure Port button lets you specify the Transmission Retry Timeout setting. This is the amount of time that a printer is allowed to not respond before NT sends the user notification.

Figure 5: Ports tab

Printer pooling

Printer pooling is an efficient way to streamline the printing process. It sends print jobs to a pool of printing devices, and the first available device actually prints the document. In order to use printer pooling you need at least two printing devices that can use the same print driver. The printing devices should be located next to each other since users aren't notified which device is printing the document.

Exercise 9-5 shows you how to create a printer pool. In this exercise you'll connect two HP LaserJet 5 printers equipped with JetDirect Cards to your Server. Before starting this exercise be sure DLC protocol is enabled on your JetDirect enabled printers and print a test page to get the MAC address of the JetDirect Card.

Exercise 9-5: Creating a printer pool

  1. Open the Network Control Panel and select the Protocols tab.
  2. Check to see if DLC is listed as a protocol. If it isn't, choose Add, then select DLC from the next screen. You'll need to reboot your system for the changes to take effect.
  3. Click Start | Settings | Printers | Add Printer wizard icon.
  4. Choose My Computer, then click Next.
  5. Check Enable printer pooling.
  6. Click Add Port.
  7. Double-click on the Hewlett-Packard Network Peripheral Port.
  8. Enter the MAC address of the first printer in the address block.
  9. Enter a name for the port. Let's call the first port Jet1 and the second Jet2.
  10. Repeat steps 7-9 to enable the second printer port.
  11. Click Close.
  12. Make sure both printer ports have check marks on them, then click Next.
  13. Select the print driver that will manage both printers, then click Next.
  14. Give the printer a name. Let's call it HP5 pool. Click Next.
  15. Share the printer on the network. Click Next.
  16. Click Finish.

Scheduling Tab

The Scheduling tab shown in Figure 9-6 lets you specify the times the printer is available to print documents, and it allows you to set the printer's priority. This tab also provides you a way to change the way the printer spools.

Figure 6: Scheduling tab

Priority

The priority setting tells NT which printer gets to print to the printing device first. Printers with higher priority print before printers with a lower priority. The printer priority ranges from 1 (the default) to 99. This does not affect the document priority. It is only useful when you have more than one printer printing to the same printing device. A good use of printer priority would be to give the most important users a printer with the highest priority. For less important users, you could create another printer that has a lower priority. Set the proper permissions (discussed later) and the important people will be given access to the printing device first.

Exam Watch: Be sure to understand that changing the priority of a printer doesn't affect the priority of the print queue. When you have two printers printing to the same printer device, a printer with a higher priority will print to the device, when it's available, before a printer with a lower priority. If the lower priority printer is busy printing a document, it will finish printing the job before releasing control to a higher priority printer.

Exercise 9-6 teaches you how to create two printers that have different priorities and available times. We'll create two different printers printing to the same printing device. One will be for regular office users available from 8:00 A.M. until 6:00 P.M. The other printer will be for management and will be available 24 hours per day.

Exercise 9-6: Enabling printer priorities

  1. Create two printers printing to the same printing device. (See Exercise 9-2 to create a new printer.) Name the first printer "Regular" and the second printer "Management."
  2. Right-click the "Regular" printer and choose Properties.
  3. Click the Scheduling tab.
  4. Choose the Available From option button and set the times from 8:00 AM to 6:00 PM.
  5. Make sure priority is set to 1.
  6. Click OK.
  7. Right-click the "Management" printer and choose Properties.
  8. Click the Scheduling tab.
  9. Choose the Available Always option button.
  10. Set the priority to 50.
  11. Click OK.

To administer these priorities, you need to share the printers on the network. You also need to make sure that only managers are allowed to print to the Management printer.

Spooling Options

You can change the spooling options to troubleshoot or speed up your print jobs. The default is optimized for typical print jobs.

Spool print documents vs. Print directly to the printer

Spooling is the process of copying the print job to the spool folder located in %systemroot%\system32\spool\printer. "Spool print documents" is the default and shouldn't be changed to "Print directly to the printer". However, if you are troubleshooting a print problem, it may help to print directly to the printer. If you can print directly to the printer but can't print when you spool, you probably have a spooling problem. Spooling is more efficient than printing directly to the printer, because the printer and the computer don't have to wait for each other. When you select spooling you can have the print job start immediately (default) or after the last page is spooled. Printing after the last page is spooled may seem like a better choice than starting immediately, but if a user is sending a big print job it may take a long time before the printer starts printing. It is more efficient to start printing immediately.

Hold Mismatched Documents

If a print job is sent to a printer that doesn't match the printing device's configuration, it can cause the printer to hang with an error. To prevent this, choose the "Hold mismatched documents" check box. This tells NT to examine the configuration of the print job and the printing device, to make sure that they are in sync, before sending the print job to the printing device.

Print Spooled Documents First

By default NT prints documents on a first-come, first-served basis. By checking the "Print spooled documents first" box, you can have NT print documents that are completely spooled while another document is still spooling—even when the spooling document arrived first.

Keep Documents after They Have Printed

The option to "Keep documents after they have printed" holds the document in the printer's queue window, even after the document has been printed. This allows all users to see what print jobs have been run.

Sharing Tab

The Sharing tab shown in Figure 9-7 is used to share your printer on the network. This tab also enables you to add other drivers to your server. By adding drivers for other operating systems, you allow them to use point and print functionality.

Figure 7: Sharing tab

Security Tab

The Security tab shown in Figure 9-8 enables you to set permissions for users who will print to your printer. It also allows you to enable auditing (if you have auditing turned on in User Manager) and it allows you to take ownership of the printer if you have the proper permissions to do so.

Figure 8: Security tab

Permissions

Printers are objects that have access control lists. To set permissions, a user must be the owner, have full control permissions or be a member of the Administrators, Power Users, Server Operators, or Printer Operators group. Figure 9-9 shows the Printer Permissions dialog box.

Figure 9: Printer Permissions dialog box

You can assign four types of permissions to printer objects:

No Access The user isn’t able to access the printer at all. This takes precedence over all other permissions. If a user is assigned to a group, which is allowed Print Access, and a group with No Access, the user will not be able to print because No Access always takes precedence.
Print Allows users to print and control the setting and print status of their own print jobs.
Manage Documents Allows the user to print and to control the settings and print status for all print jobs.
Full control Allows the user to print and to control the settings and print status for all print jobs including the printer itself. Users with full control can share, stop sharing, change permissions, take ownership, and delete the printer.

The default permissions for printers, both local and shared are as follows:

Administrators Full Control
Creator Owner Manage Documents
Everyone Print
Power Users Full Control

Auditing

Click the Auditing button to audit print events. Figure 9-10 shows the Printer Auditing screen. To enable auditing, you simply highlight and add the users or groups you want to audit, then select the events you want to audit. Before you can audit, you must open the User Manager and turn on the auditing function. Audit events are reported in the Event Viewer Security Log.

Figure 10: Printer Auditing screen

Ownership

To take ownership of a printer just click the Ownership button, then click the Take Ownership button. Once you take ownership you can't give it back. You must be a member of the Administrator group to take ownership of resources in NT.

Device Settings Tab

The Device Settings tab is used to assign forms to paper trays so the users don’t have to worry about where the form is located. This tab has different options depending on the print driver you are using. Figure 9-11 shows the Device Settings tab for an HP LaserJet 5 and Figure 9-12 shows the Device Settings tab for a Canon BJC-4100.

Figure 11: Device Settings tab for HP LaserJet 5

Figure 12: Device Settings tab for Canon BJC-4100

Managing Print Jobs

By default creator owners of a print job can manage their own print job. Figure 9-13 depicts what the screen looks like when you manage a print queue. Exercise 9-7 teaches you how to manage a print queue.

Figure 13: Managing print jobs

Exercise 9-7: Managing print jobs

  1. In the Printers Folder, double-click the printer you want to use.
  2. In the menu bar for your printer, choose Printer | Pause Printing (this enables print jobs to remain in the queue for this exercise).
  3. Use Notepad to open a text document on your hard drive.
  4. Print the document four times.
  5. Double-click the printer icon on the lower-right corner of Task Manager to display the print queue.
  6. Click the second document in the list.
  7. On the File menu, choose Document | Pause.
  8. Resume the print job by choosing Document | Resume.
  9. To remove the print job, click Document | Cancel.
  10. To pause all print jobs in the queue, select Printer | Pause Printing. (This is the same thing you did in step 2)
  11. Repeat step 8 on all jobs in the queue to end this exercise.

Troubleshooting Printers

Troubleshooting printers can be very painful. NT handles printing extremely well, but problems can still arise. Use the following guidelines to help isolate printing problems.

  1. Check the printer cable connection to the computer. This is an obvious step that is often skipped. You can waste valuable time trying to diagnose a problem that could be fixed in seconds.
  2. Ensure the application is printing to the proper printer by checking to see what printer is selected in the print dialog box.
  3. Verify that the correct print driver is being used. Try reinstalling the print driver or loading a new driver, if necessary.
  4. Try printing from another client via the same server. If you can print from a different client machine, the print problem is more than likely located on the troubled client. If you can't print from a different client, the problem is probably on the server.
  5. Check the amount of disk space on the drive where the spooler is located. Move the spooler or increase available hard disk space if needed.
  6. Try to print using another application. If problem is only with certain applications, check the appropriate subsystem.
  7. Print the document to a file. Then copy the output to a printer port. If this works, your spooler is the problem. If this doesn't work, the problem is related to the driver or application driver.

One common printing problem is that the printer spool file—located in the folder %systemroot%\system32\printers—runs out of disk space. To prevent this, make sure the drive that contains the spooler has plenty of available space. You should also defragment your hard drive. Because NT doesn't provide a defrag utility, you'll need to purchase a third party program.

You can move the default spooler location by editing the registry. Use extreme caution when editing the registry. Add the value called DefaultSpoolDirectory with type REG_SZ set to <spool path> at the following registry location.

HKEY_LOCAL_MACHINE\System\CurrentControlset\Control\Print\Printers

You can also change the spool directory for a specific printer by adding the value

SpoolDirectory with type REG_SZ set to <spool path> in the following registry key:

HKEY_LOCAL_MACHINE\System\CurrentControlset\Control\Print\Printers\<printer>

where <printer> is the name of the printer you want to change. After making these changes you'll need to restart the spooler service.

If your system crashes while it has a print job in its spooler, it tries to complete the print job after the computer restarts. When a system crashes the spooled file sometimes becomes corrupt and remains in the spool directory. When this happens you'll need to stop the spooler service, then go to the spooling directory and delete the files that won't print. You should check the time date stamps to determine which files are old.

If NT Server is acting as a print server and it appears to be running slowly, you can increase the priority of the spooler service. By default NT Server assigns a priority of 9 to the spooler service. To change the priority for the spooler service you'll need to edit the registry. Add a value called PriorityClass with type REG_DWORD with the value of the priority you want to the following registry key:

HKEY_LOCAL_MACHINE\System\CurrentControlset\Control\Print

You can also use the Print Troubleshooter wizard. To start this wizard, print a test page and answer No to the question, "Did the test page print correctly?"

Certification Summary

In this chapter you learned that NT refers to printers as the software that manages the process of sending print jobs to the printing device. You learned how the spooler service manages the process of printing. You also learned about print monitors, print drivers, print processors, print routers and print jobs.

You learned how to create a local printer and how to connect to a remote printer. You also learned about the difference between a network printer, which attaches directly to the network, and a shared network printer, which prints via a share on an NT Server.

You learned how to configure printers to use a separator page, how to change the default data type, and how to share a printer on the network. You also learned how to apply permissions security and audit printing.

Finally, the chapter explained some troubleshooting techniques you can use to identify print problems, such as changing the default spooling folder.

Two-Minute Drill

Printing devices are what you commonly refer to as printers.
Printing software is the printer.
The Graphics Device Interface (GDI) controls how graphics are displayed on the monitor and printers.
Print drivers are the software that allows an application to communicate with printing devices.
The print router routes the print job from the spooler to the appropriate print provider.
The print spooler is a service that actually manages the print process.
Rendering is the process of translating print data into a form that a printing device can read.
WINPRINT.DLL is the primary Windows NT print processor. It supports five data types: EMF, RAW, RAW (FF Auto), RAW (FF Appended), and TEXT.
The print monitor controls access to the printing device, monitors the status of the device, and communicates with the spooler.
Print jobs are source code consisting of both data and commands for print processing.
You can create printers two ways in NT. You can use the Add Printer wizard or you can use Point and print. To manage printing, use the Printers folder.
A local printer can be a print device connected directly to a port on your computer or to the network. Don’t confuse a printing device directly connected to the network with a shared network printer.
Sharing a printer on the network allows other users to print to a printing device connected to your computer.
A network printer is a printer that attaches directly to your network.
Be sure to understand that Hewlett-Packard JetDirect cards require the DLC protocol to be loaded on your system. Because DLC is not a routable protocol, the print server and the printing device must be on the same side of a router.
To configure the common printing options, use the following tabs: General, Ports, Scheduling, Sharing, and Security.
Printer pooling is an efficient way to streamline the printing process. It sends print jobs to a pool of printing devices, and the first available device actually prints the document.
Be sure to understand that changing the priority of a printer doesn't affect the priority of the print queue. When you have two printers printing to the same printer device, a printer with a higher priority will print to the device, when it's available, before a printer with a lower priority. If the lower priority printer is busy printing a document, it will finish printing the job before releasing control to a higher priority printer.
You can assign four types of permissions to printer objects: No Access, Print, Manage Documents, and Full control.
To enable auditing, you simply highlight and add the users or groups you want to audit, then select the events you want to audit.
To take ownership of a printer just click the Ownership button, then click the Take Ownership button.
By default creator owners of a print job can manage their own print job.
One common printing problem is that the printer spool file—located in the folder %systemroot%\system32\printers—runs out of disk space.

Review Questions: Just read, or Click HERE to launch interactive Self Test

1. What are two advantages of the EMF data type? (Choose two)

A) It requires less bandwidth to print over the network.

B) It returns control of the application to the user more quickly.

C) EMF files can be printed on any printer.

D) EMF files are in PSCRIPT1 format.

2. What are the two types of print processors shipped with NT?

A) Windows Print Processor (WINPRINT.DLL)

B) PostScript Print Processor (PSCRIPT1.dll)

C) Macintosh Print Processor (SFMPSPRT)

D) Unix Print Processor (LPD)

3. If you want to add an HP JetDirect networked printer to your computer, what two things must you do?

A) Install DLC protocol on your computer.

B) Configure the DLC protocol address on the printer.

C) Print a test page to get the MAC address of the JetDirect Card.

D) Install AppleTalk on your computer.

4. You shared an HP LaserJet 5 on an NT server for everyone in your department to use. When users try to connect to the printer using Windows 95 they get the following error message: "The server on which the printer resides does not have a suitable driver installed. Click on OK if you wish to select a driver to use on your local machine." What should you do to prevent users from receiving this error message?

A) Install the Client for Netware Services.

B) Give them the proper access permissions.

C) Install an appropriate Windows 95 print driver on the server.

D) Change the default data type to RAW.

5. (True/False) A local printer must have a port on the local computer.

6. You want to set up a printer pool using two printers. Neither printing device can use a common driver. How can you enable both printing devices to be in a printer pool?

A) You can set up a printer for each printing device then add a third printer to manage the two independent printers.

B) Install DLC protocol to bridge the printing drivers.

C) Add both printing devices to the ports property page and check Enable printer pooling.

D) You can't because they have to share a common driver.

7. Your boss needs to print to her secretary's printer, but she doesn't want to wait for her print job behind anybody else's print job. How can you share the printer and give your boss a higher priority?

A) Share the printer and give her full control of the printer.

B) Set the printer to print directly to the printer.

C) Create two printers. On one printer give your boss permissions to print and set the priority to 99. On the second printer give everyone permissions to print and set the priority to 1.

D) Create one printer, but share it out twice. On one share give your boss permissions to print; on the other share, give everyone permissions to print.

8. User JamieS sent a print job to an NT print server. When he went to the printer to pick up the print job he noticed a 200-page report was printing out. He didn't want to wait on his print job, so he printed the document on a different printer. Because JamieS is environmentally conscious, he doesn't want to waste paper printing the first print job. How can he delete the first print job? (Choose the best answer)

A) Double-click on the printer icon,select his print job, then choose Delete.

B) Ask the administrator to delete the print job for him.

C) There’s nothing he can do to delete the first print job.

D) Turn off the printer as soon as the 200-page report has been printed.

9. To what group must you add users so they can manage other people's print jobs? (Choose all correct answers)

A) Administrators

B) Creator Owner

C) Power Users

D) Users

10. Drive C: has 10 MB of available disk space on it. Drive D: has 300 MB of disk space available. Windows NT is installed on Drive C: which is almost out of space. Sometimes when you print your computer locks up and you need to restart your system. What should you do to prevent this problem in the future?

A) Use Disk Administrator to combine the two drives into one logical drive.

B) Use Explorer to move your WINNT directory to the D: drive.

C) Move the printer spooler to the D: drive.

D) Move the print monitor to the D: drive.

11. Print jobs are stuck in the queue. What is the best thing you can do to fix the problem?

A) Wait until the queue is auto-flushed.

B) Restart the print server.

C) Stop and restart the spooler service on the print server.

D) Delete all the jobs in the print queue.

12. You want to allow a printer to be used only during normal working hours (9:00 A.M. to 6:00 P.M.) What is the best way to implement this requirement.

A) On the Scheduling tab of that printer's property page, make it available from 9:00 A.M. until 6:00 P.M.

B) On the Scheduling tab of that printer's property page, make it unavailable from 6:01 P.M. until 8:59 A.M.

C) Turn the printer off when you don't want people to use it.

D) Use the AT Scheduler to stop and start the spooler service at the required times.

13. What command do you use to print to a Unix print server?

A) LPD

B) lpr

C) net print

D) \\computername\sharename

14. (True/False) NT can act as a Unix print server

Answers to Chapter 9 Self Test

  1. B, C. EMF files return control of the application to the user more quickly because it spools to the spooler then it becomes a background process to print. EMF files can also be printed on any printer because the print process renders the document according to the printing device selected.
  2. A, C. These are the only two types of print processors supplied with NT. Vendors can make other print processors if needed.
  3. A, C. To use an HP JetDirect card you must have DLC installed on your system. Since DLC uses MAC addresses to print, you also need to print a test page to identify the MAC address of the JetDirect Card. Also note that DLC is not a routable protocol.
  4. C. Like Windows NT, Windows 95 supports point and print; however, you must have the proper driver installed. Print drivers aren't independent of hardware platform and operating system. You must have a separate driver compiled for each operating system and hardware platform.
  5. True. A local printer is just that—local; therefore it must have a local port. A local port can be a serial port, parallel port, or a network-enabled port.
  6. In order to set up printer pooling, all printers must use the same print driver.
  7. You need to create two different printers so you can assign a different priority to each.
  8. A. Since he is the creator owner of the document, he can delete his own print job. B would also work, but it isn't the best solution.
  9. A, C. Administrators and Power Users can manage other users' print jobs. Creator Owners can only manage their own print jobs.
  10. C. The printer spool file is probably causing the hard drive to fill up, thus causing the system to lock. Moinge the printer spooler to Drive D: should alleviate the problem, although the limited available disk space on Drive C: may still cause problems with other applications.
  11. C. Stopping and restarting the spooler service is the best answer because it keeps the other server services up and running. B would probably fix the problem, but it would take longer and it would stop all other server services.
  12. A. The Scheduling tab is the proper way to limit printer use. The tab enables you to select the hours when the printer is available, not the hours when it's unavailable.
  13. B. The proper format is lpr -S <server name> -P <printer name> <filename>
  14. A. After you install Microsoft TCP/IP Printing, you can set up NT to allow Unix clients to print to it.