Before you start
Objectives: Learn general concepts of printer installation and configuration.
Prerequisites: no prerequisites.
Key terms: print, device, logical, spooler, driver, job, physical, connection, page, parallel, usb
Logical Printer
The difference between Windows XP and up, and earlier versions of Windows such as Windows 95 and 98 or MS DOS, is the fact that now to Windows a printer is not an actual physical printer device. Instead, a printer, from the system’s perspective, is a logical software entity. The physical printer itself is called the print device. Well, we still call it a printer but from Windows perspective physical printer is the print device. The print device works together with the print driver and the spooler in Windows. All those components work together to form a logical printer. So, the logical printer in Windows is composed of three different parts which are the physical printer (print device), the print driver and the spooler. The computer where we have established printing is called the Print Server.
336.1 Logical Printer
When we send a print job to the logical printer, we actually send the print job to the print spooler. The print spooler then works with the print driver to reformat the data that’s coming from the application into a language that the print device can understand. That language might be Escape Codes (used to control dot matrix printers), PostScript (created by Adobe), PCL (created by Hewlett-Packard), or some other, proprietary language. Once the translation is done, the print job is saved in a file on the hard disk drive inside the spooler. The portion of the hard drive where print jobs are stored is called a Print Queue. After that, the job is sent to the print device whenever it’s available.
With this setup we configure our logical printer to start sending the job to the print device before it’s done being spooled. This makes printing faster. Remember, if we’re talking about how Windows submits a job to a printer, we are talking about a combination of the print driver, the spooler and the print device, which form the logical entity called the printer.
Connecting the Printer
The Print Device is connected to the Print Server using print ports. Print ports can be physical or logical. Physical connection can be made using Parallel, Serial, or USB port. We can also connect to the printer that is located on Local Area Network using their Network Interface Card. Note that this is still considered a physical connection. When we connect to the printing device that is located on a LAN, we have to create a Standard TCP/IP port. As far as our computer is concerned, we are still installing a local printer, and we are just using a TCP/IP port. We can also connect to the shared printer. With this type of connection we are going to another machine that is acting as a Print Server. In this case the printer becomes a Network Printer. If the printer is an older printer, probably a parallel port base printer, Windows is not going to be able to detect it because it’s not a plug-and-play device. If that’s the case, then we’re going to have to manually install that printer. Newer printers, especially those that use the USB connections or FireWire connections, will be automatically detected by Windows as soon as we plug them in. All parallel connections adhere to the IEEE standard 1284. Five modes in which parallel connection can work are Nibble, Compatibility, Byte, EPP, and ECP.
When it comes to driver installation, with USB printers we should install printer drivers first, before we plug the printer in for the first time. That way, the system has the drivers that it needs. When we plug in the printer device, Windows will try to automatically create new logical printer object. Once we’ve got our printer set up, we should print a test page to verify that the printer is working properly. If the test page doesn’t come out, we know we’ve got problems. If the print page comes out properly, then we might need to calibrate our printer. For monochrome (black and white, grayscale) printers this is not a big issue, but if we have a color printer, we may need to calibrate it. Most printer drivers allow us to do that. Calibration allows us to customize how the colors appear in the printout.
When we install our printer, we can share it on the network so that other users can connect to our computer and print. This would be an example of a Network Printer. Network Printer is a printer that is installed, configured, and shared on the network. We can connect to the Network Printer using UNC name. The UNC syntax is \\ComputerName\PrinterName. When we connect to the Network Printer we will get the information about the drivers and the rest of the configuration that is required for printing. We can also add drivers for computers that are running different version of Windows. This way, when other computers connect to our printer and they don’t have driver for our printer, they will be able to use our own drivers which we have supplied with the shared printer.
Printer Permissions
Printer permissions apply to both local and shared printers. In general, there are three different printer permissions:
- Print – allows user to send print jobs to the printer. By default, users can manage their own print jobs (pause, resume, restart or cancel their print jobs).
- Manage Printer – allows users to pause and restart the printer, change settings, edit printer permissions and properties, and share a printer. Users with Manage Printer permissions also have the Print permission set.
- Manage Documents – allows users to pause, resume, restart, cancel or reorder any print job sent to the printer. Users with Manage Documents permission don’t have to have Print or Manage Printer permission.
When we share a printer, the Everyone group will have the Print permission. That means that every user in our environment (domain, workgroup or homegroup) will be able to print on our shared printer. Note that standard users can install printers without administrative privileges.
Windows 7 Improvements
Starting from Windows 7 we also have a new MMC Snap-in for printer management. It enables administrators to configure security settings, printer driver isolation, and create custom filters.
By default, Windows 7 print jobs are spooled (rendered) on the client instead of the print server, which reduces print processing time. Client Side Rendering (CSR) reduces the CPU and memory usage on our print server. However, we can disable this feature if we want.
Other improvements include Location-aware printing, printer driver isolation, and new security settings. Location-aware printing changes the default printer depending on the network location of the mobile device. It doesn’t establish a connection to the printer, but allows a user to specify which printer, that is already configured on a mobile device, to be set as default depending on the network location. For example, we can configure one printer as default when we are at home location, and another printer as default when we are at work location. This doesn’t work on desktop computer, but only on computers with a battery. We can disable this feature by choosing the “Always use the same printer as my default printer” option.
Driver isolation allows printer driver components to run in an isolated process separate from the printer spooler process. This improves print server reliability.
We also have a support for new XML specification called XML Paper Specification (XPS), which defines the content and appearance of documents using vector based graphics. By default, XPS document is created every time we print from applications running on Windows 7. We can also print our files directly to the XPS document writer to create an XPS document which can than be saved on our computer. This XPS document can then be re-printed multiple times without the need for re-renderring. XPS files can be viewed with Internet Explorer.
In Windows 7, a new color printing subsystem is introduced. It is called Windows Color System (WCS). WCS improves print quality and supports printers that use more than four ink cartridges.
Example Configuration
We have separate articles in which we show how to work with printers in Windows:
Remember
Print device is the physical device connected to the print server. Printer is a virtual device inside the print server that can be configured to send output to a printing device. The printer is made up of the print driver, the printing device, and the spooler. We should install drivers for USB printers first, and then connect our printer (unless the printer manual says different). Languages that printers commonly understand are Escape Codes, Printer Control Language (PCL) and PostScript.