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
.