A computer-implemented method for printing electronic documents, the computer-implemented method being implemented by a printer driver in a client device, said printer driver being communicatively coupled to one or more printing devices (106,108), the printer driver further including a rendering request module and a local rendering module, the method comprising: the printer driver receiving first application data from an application program; the printer driver retrieving, from one or more Web print services via a network, printing device capability data that indicates one or more features and options currently supported by a specified printing device, said specified printing device specified by a user for printing the first application data and being coupled to the printer driver via the network; the printer driver generating, based upon the printing device capability data and user selection data that indicates user selections of one or more features and options of the specified printing device, a first job ticket that specifies how a first electronic document is to be printed at the specified printing device, said rendering request module of the printer driver causing the first application data and the first job ticket to be transmitted via the network to one or more Web print services that render the first application data using the first job ticket and generate print data in a format supported by the specified printing device; the printer driver receiving the print data from the one or more Web print services via the network; the printer driver causing the print data to be transmitted to the specified printing device, wherein processing of the print data at the specified printing device causes a printed version of the first electronic document to be generated; the printer driver receiving second application data from the application program, the second application data being different from the first application data; responsive to a user selection received via a user interface generated by the printer driver for local rendering of the second application data, the printer driver generating, based upon printing device capability data of a local printing device, the local printing device specified by the user for printing the second application data, and user selection data that indicates user selections of one or more features and options of the local printing device, a second job ticket that specifies how a second electronic document is to be printed at the local printing device, and said local rendering module of the printer driver rendering the second application data using the second job ticket and generating second print data in a format supported by the local printing device, said local printing device directly connected to the client device, wherein processing of the second print data at the local printing device causes a printed version of a second electronic document to be generated. the printer driver receiving first application data from an application program; the printer driver retrieving, from one or more Web print services via a network, printing device capability data that indicates one or more features and options currently supported by a specified printing device, said specified printing device specified by a user for printing the first application data and being coupled to the printer driver via the network; the printer driver generating, based upon the printing device capability data and user selection data that indicates user selections of one or more features and options of the specified printing device, a first job ticket that specifies how a first electronic document is to be printed at the specified printing device, said rendering request module of the printer driver causing the first application data and the first job ticket to be transmitted via the network to one or more Web print services that render the first application data using the first job ticket and generate print data in a format supported by the specified printing device; the printer driver receiving the print data from the one or more Web print services via the network; the printer driver causing the print data to be transmitted to the specified printing device, wherein processing of the print data at the specified printing device causes a printed version of the first electronic document to be generated; the printer driver receiving second application data from the application program, the second application data being different from the first application data; responsive to a user selection received via a user interface generated by the printer driver for local rendering of the second application data, the printer driver generating, based upon printing device capability data of a local printing device, the local printing device specified by the user for printing the second application data, and user selection data that indicates user selections of one or more features and options of the local printing device, a second job ticket that specifies how a second electronic document is to be printed at the local printing device, and said local rendering module of the printer driver rendering the second application data using the second job ticket and generating second print data in a format supported by the local printing device, said local printing device directly connected to the client device, wherein processing of the second print data at the local printing device causes a printed version of a second electronic document to be generated.