Printers that do not support any common printer language and can only be addressed with special control sequences are called GDI printers. GDI (Graphical Device Interface) is a programming interface developed by Microsoft for graphics devices, including screens, printers and scanners.
Lately, manufacturers have become aware of GDI's "bad press", and are using other terms for GDI, including "Host Based printer","Windows printer", "Firmware printer", "Winprinter" and "Raster printer", LIDIL, DDST, etc, etc.
Many low cost Parallel and USB printers are GDI printers, and some Multifunction devices also use GDI for scanning and faxing.
These printers only work with the operating system versions for which the manufacturer delivers a driver.
Jobs are sent, and flow control is managed, using proprietary codes. This also means that most of the image processing takes place on the PC using the Windows GDI software (or an emulation of this on Macs and Linux for example). Because the printer does not need its own processor, this reduces costs, but means that the Host PC's processor has to take the rendering load.
Some printers can be switched to operate either in GDI mode or one of the standard printer languages, but these are rare.
Using a GDI printer can have several consequences:
The printer may only work with Windows, and maybe not even all versions of Windows. The GDI API was totally revised when Windows moved from 16 bit (95, 98, ME) to 32 bit (NT4, 2000, 2003, XP), and will probably change again with Vista.
- Rendering speed will depend on the speed, memory and hard disk space in the client or Host PC.
Slow PC, slow printing. (This may be less of a problem with newer PCs, but it is still irritating).
- If it is a multi-function device, some functions may only work when locally connected, or on specific OS versions.
- It is very unlikely to be networkable via a print server unit, if it does work, it will probably be unreliable if more than one job at a time is sent, or it may just send part of a job.
As an example, a while back a well known Photocopier company produced a GDI interface for one of their photocopiers. This would only work with Windows 98.
It could, with some difficulty , be shared, but only to another windows 98 PC.
If connected to a printserver device (even one recommended by the manufacturer), it was not possible to print the printserver's built-in test page.
While connected through a printserver device, if more than one print job was sent to it at the same time, it crashed, and the print server would often need resetting.
If you can afford it, buy a printer that has its own processor.