Claims
- 1. A method comprising:
receiving a print request and corresponding data to be printed; converting the print request and corresponding data to an operating system independent and printer independent representation; using, while the data is in the operating system independent and printer independent representation, at least one of a plurality of print filters to alter the data; and converting the altered data to a printer-dependent representation.
- 2. A method as recited in claim 1, wherein the using comprises using a print driver having a subset of the plurality of filters added to the print driver during compilation.
- 3. A method as recited in claim 1, wherein the using comprises using a subset of the plurality of filters that are linked to at run-time.
- 4. A method as recited in claim 1, wherein each of the plurality of print filters is to do at least one of the following: manipulate how the pages represented by the data will be printed, manipulate how the image represented by the data will be printed, and manipulate the destination of the data.
- 5. A method as recited in claim 1, wherein the converting comprises using at least one of the plurality of filters to convert the data having the modified printing format to the printer-dependent representation.
- 6. A method as recited in claim 1, further comprising transferring the modified print request in the printer-dependent representation to a printer via a network.
- 7. A computer-readable media having stored thereon a computer program that, when executed by at least one processor, causes the at least one processor to perform functions including:
receiving a print request and corresponding data to be printed; converting the print request and the corresponding data to an operating system independent and printer independent format; and when the data is in the operating system independent and printer independent format, using a plurality of print filters to modify the data to be printed.
- 8. A computer-readable media as recited in claim 7, wherein at least one of the plurality of print filters is maintained in a run-time loadable module independent of a module in which the program for receiving the print request, translating the print request, and using the plurality of print filters is maintained.
- 9. A computer-readable media as recited in claim 8, wherein the run-time loadable module comprises a dynamic link library (DLL).
- 10. A computer-readable media as recited in claim 7, wherein:
one of the plurality of print filters comprises a filter to translate the print request and the corresponding data, as modified by the plurality of print filters, to a printer-dependent representation; and the computer program, when executed by the at least one processor, further causes the at least one processor to transfer the modified print request and corresponding data in the printer-dependent representation to a printer.
- 11. A computer-readable media as recited in claim 7, wherein each of the plurality of print filters is implemented in a different dynamic link library (DLL).
- 12. A computer-readable media as recited in claim 7, wherein the plurality of print filters are part of a printer driver, and wherein the computer program further causes the at least one processor to perform functions including:
generating a settings data structure that identifies a plurality of aspects of how the data is to be printed; and passing the settings data structure from print filter to print filter to be used by each print filter to determine how the print filter is to modify the data.
RELATED APPLICATIONS
[0001] This application is a continuation of prior application Ser. No. 09/305,241, filed May 4, 1999, entitled “Printer Drivers Using Filters That Are Operating System-Independent and Printer-Independent”, which is hereby incorporated by reference.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09305241 |
May 1999 |
US |
Child |
10638572 |
Aug 2003 |
US |