摘要:
A printer driver uses filters that are operating system-independent and printer-independent. Print requests and corresponding print data are received by the printer driver and converted into an internal representation that is both operating system-independent and printer-independent. The data to be printed is then passed through a print pipeline where one or more of a plurality of print filters are applied to the data. As a final stage in the print pipeline, the data is converted to a printer-dependent representation. In one embodiment, one or more of the plurality of filters used in the print pipeline are stored in a dynamic link library (DLL).
摘要:
A printer driver uses filters that are operating system-independent and printer-independent. Print requests and corresponding print data are received by the printer driver and converted into an internal representation that is both operating system-independent and printer-independent. The data to be printed is then passed through a print pipeline where one or more of a plurality of print filters are applied to the data. As a final stage in the print pipeline, the data is converted to a printer-dependent representation. In one embodiment, one or more of the plurality of filters used in the print pipeline are stored in a dynamic link library (DLL).
摘要:
Printer driver architectures and methods of providing adaptable printer driver architectures are described. In one embodiment, a printer driver architecture includes a kernel which is configured to implement printer driver functionalities. At least one interface is provided into the kernel which is configured to permit addition and incorporation of at least one operation-specific functionality, which is not specifically provided by the kernel's printer driver functionalities. In another embodiment, a kernel is defined and configured to implement printer driver functionalities. A plurality of interfaces are defined in the kernel and are configured to permit addition and incorporation of various operation-specific functionalities which are not specifically provided by the kernel's printer driver functionalities. At least one operation-specific functionality is interfaced through at least one of the defined interfaces in the kernel to provide a printer driver functionality that the kernel would not otherwise have. In yet another embodiment, an abstract base class is defined which pertains to at least one operation-specific functionality of a printer driver. The abstract base class is used to define an abstract interface. The abstract interface is defined for a hierarchy of classes pertaining to the at least one operation-specific functionality. The abstract base class is capable of implementing at least some, but not all of the interface it defines. At least one class is derived from the base class which implements all unimplemented portions of the abstract interface.
摘要:
User input to a device driver to affect device driver settings is handled by a method according to various aspects of the present invention. The device driver has settings which include a plurality of values. The method includes the steps of (a) in response to user input, replacing the value of a setting with a new value; and then (b) reviewing all settings for consistency. During the review, additional replacements may be dictated according to rules (i.e., conditional procedures) which may have been received from a file into the device driver. Each rule accounts for one type of interaction. For example, when a user changes the media from letter paper to envelope using a printer driver user interface, the user interface is updated to show that two-sided printing and stapling settings are now off and not available. By allowing inconsistent settings to exist and then be corrected, user interface programming source code is made more manageable.