|   | |
A printer driver is implemented as two files:
a .pdr file containing
the printer specification data
a .pdl file containing the code to link the
printer with the graphics framework printing.
.pdr fileA .pdr file is a stream store, and is  generated  by
running the pdrtran tool over a  text file containing printer specification data. The source text file has file extension .pd. It contains:
the name of an associated .pdl file
the list of one or more models supported by this driver (by name and UID)
device information such as the size of the device, typeface information for each model, including which typefaces are supported, what heights in each typefaces and the width of each character in a font.
A .pdr can contain more than one model because different models are
often based on different combinations of the same typefaces. This allows
character width tables (which make up the bulk of the data stored) to be
shared.
Different .pdr files can  reference the same
.pdl.
A .pdl file is a plugin  DLL.  The ordinal 1 function exported from the DLL creates and returns a pointer to an instance of a  CPrinterDevice derived class.
The Symbian OS loads both .pdr  and .pdl files from /system/printers.