Question: What is the purpose of a printer driver?
Answer: The operating system uses one standard set of codes to indicate how a page should be formatted for printing. Different printers use different sets of codes to actually do that formatting. The printer driver is what translates the one into the other.
Prior to the introduction of Windows, all computer applications had to provide tall of the code to interact with all of the computer hardware themselves. This meant that they needed to contain the code to be able to handle each individual printer (and other hardware components) directly in the code. Each given program would therefore have its own specific list of which hardware (including printers) that it supported. If you needed to be able to use a given program then you needed to make sure that all of your hardware that you wanted it to be able to interact with was on the list of supported components. The ability of a printer company to sell their computers was dependent on them assisting each application software program that people were likely to use to incorporate support for their printer.
The introduction of Windows as an intermediate layer between the application and the hardware changed everything (that it also provides a graphical interface is trivial compared to the impact is has as an interface between applications and the hardware. Now all application programs need to do is to call the appropriate Windows module with the request to print something (or to do anything else that requires hardware access) rather than attempting to access the hardware directly. The hardware manufacturers provide their own piece of software (called a driver) that provides Windows with the knowledge of how to use their particular hardware whenever it receives a request to do so from any application that runs on Windows.
So instead of a hundred applications that need to be able to handle a hundred different printers needing ten thousand separate interfaces to be written in order to be able to interact all of the application to all of the printers the hundred applications simply all call the one Windows interface regardless of which printer is to be used and the hundred printer manufacturers each provide a single printer driver that allows Windows to interact with their printer. Plus it removes the need for the software and hardware producers to talk to one another in order to get the software and hardware to work together. Instead they each simply work with the appropriate specification on how to interact with Windows and let Windows look after connecting the two together.
This article written by Stephen Chapman, Felgall Pty Ltd.