US8164767B2 - Print driver with processed print data management capability - Google Patents

Print driver with processed print data management capability Download PDF

Info

Publication number
US8164767B2
US8164767B2 US11/698,544 US69854407A US8164767B2 US 8164767 B2 US8164767 B2 US 8164767B2 US 69854407 A US69854407 A US 69854407A US 8164767 B2 US8164767 B2 US 8164767B2
Authority
US
United States
Prior art keywords
print data
processed
data
print
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US11/698,544
Other versions
US20080180723A1 (en
Inventor
Senthil K. Selvaraj
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US11/698,544 priority Critical patent/US8164767B2/en
Assigned to RICOH COMPANY, LTD. reassignment RICOH COMPANY, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SELVARAJ, SENTHIL K.
Priority to JP2008015504A priority patent/JP2008186459A/en
Publication of US20080180723A1 publication Critical patent/US20080180723A1/en
Application granted granted Critical
Publication of US8164767B2 publication Critical patent/US8164767B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client

Definitions

  • This invention relates generally to print drivers and more specifically, to a print driver with processed print data management capability.
  • print drivers are processes that process print data generated by an application program and convert the print data into a format supported by a printing device that is intended to process the print data.
  • a user creates an electronic document using a word processing application.
  • the user uses a print option in the application program to request that the electronic document be printed to a particular printing device.
  • the application program generates and provides print data to a print driver installed on the user's client device.
  • a print driver installed on the user's client device.
  • This involves the use of an intermediary process referred to as a spooler that saves the print data locally.
  • the print driver processes the print data and generates processed print data that is in a format supported by the particular printing device.
  • the print driver may process the print data and generate processed print data that conforms to the postscript format.
  • the generation of the processed print data typically involves the use of a rendering module or functionality that translates the print data into the format required by the particular print device.
  • the print driver then transmits the processed print data to the particular printing device.
  • the particular printing device processes the processed print data and generates a printed version of the electronic document.
  • Print drivers may reside on client devices, server devices, such as print servers, or even on printing devices. Furthermore, print drivers may be integrated into application programs, but are more typically implemented as separate processes to simplify implementing newer versions.
  • print driver One of the drawbacks of conventional print drivers is that a significant amount of computational resources and time may be required by a rendering module to process the print data generated by an application program. This is particularly true for print data that contains a large amount of graphics. Since conventional print drivers do not maintain processed print data after it has been transmitted to a printing device, print drivers have to process print data every time it is received, even if the print driver has previously processed the same print data. Thus, when a user re-prints a document, the print driver must completely re-process the print data generated by the application program and again incur the computational expenses and time required to process the print data. Furthermore, if the original document is no longer available, the processed print data cannot be retrieved by the print driver.
  • a print driver is configured to store, retrieve and re-print processed print data that has been generated by the print driver.
  • Processed print data may be stored locally or remotely and may be stored in a secure manner.
  • the print driver may also be configured to save user settings data that indicates one or more user settings used by the print driver to process the print data and generate the processed print data.
  • the print driver also allows processed print data to be retrieved and re-transmitted to printing devices.
  • the print driver generates a graphical user interface that allows users to store, retrieve and print processed print data.
  • a print driver includes a rendering module and a print data management module.
  • the rendering module is configured to process print data generated by an application program and generate processed print data that conforms to a format supported by a printing device that is intended to process the processed print data.
  • the print driver is configured to cause the processed print data to be transmitted to the printing device.
  • the print data management module is configured to store the processed print data to storage, retrieve the processed print data from the storage, and cause the processed print data retrieved from the storage to be transmitted to the printing device for processing.
  • FIG. 1 is a block diagram that depicts an example arrangement in which print driver data logging may be implemented, according to an embodiment of the invention.
  • FIGS. 2A and 2B are an example graphical user interface generated by a graphical user interface module.
  • FIG. 3 is a flow diagram that depicts an approach for a print driver saving processed print data, according to an embodiment of the invention.
  • FIG. 4A is an example user interface screen generated by an operating system for accessing properties of printing devices.
  • FIG. 4B is an example user interface screen generated by an operating system for viewing and setting properties of printing devices.
  • FIG. 5 is a flow diagram that depicts an approach for a print driver retrieving and re-printing saved processed print data, according to an embodiment of the invention.
  • FIG. 6 is a block diagram of a computer system on which embodiments of the invention may be implemented.
  • a print driver is configured to store, retrieve and re-print processed print data that has been generated by the print driver.
  • Processed print data may be stored locally or remotely and may be stored in a secure manner.
  • the print driver may also be configured to save user settings data that indicates one or more user settings used by the print driver to process the print data and generate the processed print data.
  • the print driver also allows processed print data to be retrieved and re-transmitted to printing devices.
  • the print driver generates a graphical user interface that allows users to store, retrieve and print processed print data. This functionality reduces the computational resources and time required to process print data because print data that has been previously processed does not need to be re-generated by an application program or re-processed by a rendering module.
  • FIG. 1 is a block diagram that depicts an example arrangement 100 in which print data may be managed by a print driver, according to an embodiment of the invention.
  • Arrangement 100 includes a client device 102 , a printing device 104 , a server 106 and a client device 107 that are communicatively coupled to each other via a network 108 .
  • Network 108 may be implemented by any medium or mechanism that provides for the exchange of data between the various elements depicts in FIG. 1 . Examples of network 108 include, without limitation, a network such as a Local Area Network (LAN), Wide Area Network (WAN), Ethernet or the Internet, or one or more terrestrial, satellite or wireless links.
  • Network 108 may also provide secure communications between the various elements depicted in FIG. 1 .
  • the various elements depicted in FIG. 1 may also communicate with each other via one or more direct communications links that are not depicted in FIG. 1 or described herein for purposes of brevity.
  • Client devices 102 , 107 may be any type of client devices and the invention is not limited to any particular type of client device. Examples of client devices 102 , 107 include, without limitation, a desktop computer, a laptop computer, a personal digital assistant (PDA), and a telephony device.
  • client device 102 includes a user interface 110 , applications APP 1 112 , APP 2 114 and APP 3 116 , a print driver 118 and storage 120 .
  • User interface 110 may be implemented by any mechanisms and/or processes that allow for the exchange of information between client device 102 and users.
  • Examples of user interface 110 include, without limitation, a display, such as a cathode ray tube (CRT) or liquid crystal display (LCD), and an input device, such as a keypad, touchpad, touch screen, keyboard or mouse, or any combination of displays and input devices.
  • a display such as a cathode ray tube (CRT) or liquid crystal display (LCD)
  • LCD liquid crystal display
  • an input device such as a keypad, touchpad, touch screen, keyboard or mouse, or any combination of displays and input devices.
  • Applications APP 1 112 , APP 2 114 and APP 3 116 may be any type of applications that are capable of generating print data. Examples of applications APP 1 112 , APP 2 114 and APP 3 116 include, without limitation, a word processing program, a spreadsheet program, an email program or any other type of application.
  • Print driver 118 may be implemented by any type of print driver and in any form, For example, print driver 118 may be implemented as one or more software processes. According to one embodiment of the invention, print driver 118 includes a rendering module 122 , a print data management module 124 and a graphical user interface (GUT) module 126 . Print driver 118 may include other modules, elements and functionality not depicted in FIG. 1 or described herein for purposes of brevity, and the invention is not limited to a print driver having any particular combination of modules and functionality.
  • Rendering module 122 processes print data and generates translated print data that conforms to a format supported by an intended recipient printing device.
  • rendering module 122 may process print data generated by a word processing application and generate translated print data that conforms to the postscript format, on the basis that the print data is intended to be processed by printing device 104 and printing device 104 supports postscript.
  • Print data management module 124 and GUI module 126 are described in more detail hereinafter.
  • Storage 120 may be implemented by any type of storage. Examples of storage 120 include, without limitation, volatile memory, such as random access memory (RAM) and non-volatile storage, such as one or more disks or flash memory. Client device 102 may include other mechanisms, modules, processes, etc., depending upon a particular implementation, that are not depicted in FIG. 1 or described herein for purposes of explanation.
  • volatile memory such as random access memory (RAM)
  • non-volatile storage such as one or more disks or flash memory.
  • Client device 102 may include other mechanisms, modules, processes, etc., depending upon a particular implementation, that are not depicted in FIG. 1 or described herein for purposes of explanation.
  • Print driver 118 is configured to save processed print data that it generates.
  • the particular approach used to trigger the saving of processed print data may vary depending upon a particular implementation and the invention is not limited to any particular approach.
  • print data management module 124 is configured to examine print data or user settings data 130 received by print driver 118 to determine whether the processed print data 128 should be saved.
  • the print data received by print driver 118 may contain data that indicates that print driver 118 should save the processed print data 128 .
  • print driver 118 may receive user settings data 130 with the print data.
  • Print data management module 124 examines the user settings data 130 to determine whether the processed print data 128 generated by print driver 118 should be saved. Processed print data 128 may be saved to storage 120 or any other location.
  • processed print data 128 may be saved to another client device, such as client device 107 , server 106 , printing device 104 , or any other network device, such as a multifunction peripheral (MFP) that has the capability to store processed print data 128 .
  • client device 107 such as client device 107 , server 106 , printing device 104 , or any other network device, such as a multifunction peripheral (MFP) that has the capability to store processed print data 128 .
  • MFP multifunction peripheral
  • GUI module 126 is configured to generate a graphical user interface that allows a user to indicate that processed print data 128 is to be saved.
  • GUI module 126 may be configured to generate one or more instructions and/or GUI objects which, when processed accordingly, provide a GUI that includes an option for saving processed print data 128 .
  • FIG. 2A is an example user interface screen 200 generated by GUI module 126 .
  • the invention is not limited to the example user interface screen 200 , which is provided as merely one example.
  • User interface screen 200 may be displayed on user interface 110 in response to a user selecting to print an electronic document from within an application APP 1 112 , APP 2 114 , APP 3 116 .
  • User interface screen 200 indicates the name of the currently-selected printing device, which in this example is “PRINTER # 1 ”. The user then selects to edit the properties of PRINTER # 1 by selecting the user interface button labeled “Properties”. In response to this selection, GUI module 126 generates and displays user interface screen 250 of FIG. 2B .
  • User interface screen 250 includes a set of tabs that display different user settings for PRINTER # 1 , including layout settings and paper/quality settings.
  • User interface screen 250 also includes a Save Job tab that includes a checkbox for saving the current print job. When the checkbox is checked, data is sent to the print driver 118 indicating that the processed print data 128 should be saved.
  • User interface screen 250 indicates the names of prior print jobs (processed print data) that have been saved.
  • User interface screen 250 may include other options not depicted in FIG. 2B .
  • user interface screen 250 may allow a user to specify a location where processed print data 128 is to be saved. This may be provided via a browse or navigation button.
  • user interface screen 250 may also allow a user to also specify whether processed print data 128 should be stored in a secure manner, e.g., by encrypting the processed print data with a password.
  • FIG. 3 is a flow diagram 300 that depicts an approach for a print driver saving processed print data, according to an embodiment of the invention.
  • a user specifies user settings to indicate saving of processed print data. For example, as depicted in FIGS. 2A and 2B , a user designates properties for the currently-selected printing device, including specifying that the processed print data is to be saved. The user may also specify a location to store the processed print data 128 and whether the processed print data 128 is to be stored in a secure format, for example by being encrypted.
  • the user requests printing of an electronic document. For example, the user may request printing of an electronic document via user interface screen 200 .
  • step 306 the application program generates print data and the print data and user settings data 130 are provided to print driver 118 .
  • the print data and the user settings data 130 may be included together or may be separate, depending upon a particular implementation.
  • An intermediary process such as a spooler, may be involved.
  • print driver 118 processes the print data and generates processed print data 128 that is transmitted to the specified destination, such as printing device 104 .
  • the processed print data 128 is saved to the location specified by the user, such as storage 120 or another location.
  • the processed print data 128 may be stored in a secure manner, for example by being encrypted, based upon the user settings data 130 .
  • GUI module 126 is configured to generate a graphical user interface that allows a user to retrieve and re-process processed print data 128 .
  • GUI module 126 may be configured to generate one or more instructions and/or GUI objects which, when processed accordingly, provide a GUI that includes an option for retrieving and re-processing processed print data 128 .
  • FIG. 4A is an example user interface screen 400 generated by an operating system for accessing properties of printing devices.
  • user interface screen 400 is setting the preferences for PRINTER # 1 .
  • GUI module 126 causes the user interface screen 450 of FIG. 4B to be displayed on user interface 110 .
  • User interface screen 450 includes a set of tabs that display different user settings for PRINTER # 1 , including layout settings and paper/quality settings.
  • User interface screen 450 also includes a Save Job tab that provides a list of saved processed print data 128 that are available for retrieval and re-printing. These are the processed print data 128 that print data management module 124 has previously saved. The user may select any of the processed print data 128 and then select a user interface object 452 associated with a “print” option to cause the selected processed print data 128 to be re-printed.
  • a user may select a user interface object 454 associated with a browse option to view processed print data stored at other locations.
  • a navigation tool may be presented to the user and allow the user to navigate to various locations.
  • the user may be queried for the password prior to allowing the user to re-print the processed print data 128 .
  • FIG. 5 is a flow diagram 500 that depicts an approach for a print driver retrieving and re-printing saved processed print data 128 , according to an embodiment of the invention.
  • a user selects to view the properties of a printing device. For example, a user selects to view the properties of printing device PRINTER # 1 , as depicted in FIG. 4A .
  • the properties for the printing device are displayed. For example, the set of property tabs for printing device PRINTER # 1 are displayed in FIG. 4B .
  • the user selects the “Save Job” tab to view the processed print data 128 that has been saved by print data management module 124 .
  • step 508 the user may select particular processed print data 128 and request that the particular processed print data 128 be re-printed.
  • the user may be queried for a password or other authentication data if the selected processed print data 128 was stored in a secure manner.
  • the selected processed print data 128 is printed at the specified printing device. Note that no involvement by the application program that originally generated the print data is required. In addition, the print data does not have to be re-processed by rendering module 122 .
  • step 514 the user may browse to other locations to view other processed print data 128 .
  • the print driver configured to store, retrieve and re-print processed print data may be implemented on any print driver at any location.
  • embodiments of the invention have been depicted in the figures and described herein in the context of client-side implementations, the invention is not limited to this context and the approach may be implemented in print drivers implemented on a server, for example a print server.
  • FIG. 6 is a block diagram that illustrates an example computer system 600 upon which an embodiment of the invention may be implemented.
  • Computer system 600 includes a bus 602 or other communication mechanism for communicating information, and a processor 604 coupled with bus 602 for processing information.
  • Computer system 600 also includes a main memory 606 , such as a random access memory (RAM) or other dynamic storage device, coupled to bus 602 for storing information and instructions to be executed by processor 604 .
  • Main memory 606 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 604 .
  • RAM random access memory
  • Computer system 600 further includes a read only memory (ROM) 608 or other static storage device coupled to bus 602 for storing static information and instructions for processor 604 .
  • ROM read only memory
  • a storage device 610 such as a magnetic disk or optical disk, is provided and coupled to bus 602 for storing information and instructions.
  • Computer system 600 may be coupled via bus 602 to a display 612 , such as a cathode ray tube (CRT), for displaying information to a computer user.
  • a display 612 such as a cathode ray tube (CRT)
  • An input device 614 is coupled to bus 602 for communicating information and command selections to processor 604 .
  • cursor control 616 is Another type of user input device
  • cursor control 616 such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 604 and for controlling cursor movement on display 612 .
  • This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
  • the invention is related to the use of computer system 600 for implementing the techniques described herein. According to one embodiment of the invention, those techniques are performed by computer system 600 in response to processor 604 executing one or more sequences of one or more instructions contained in main memory 606 . Such instructions may be read into main memory 606 from another machine-readable medium, such as storage device 610 . Execution of the sequences of instructions contained in main memory 606 causes processor 604 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
  • machine-readable medium refers to any medium that participates in providing data that causes a machine to operation in a specific fashion.
  • various machine-readable media are involved, for example, in providing instructions to processor 604 for execution.
  • Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
  • Non-volatile media includes, for example, optical or magnetic disks, such as storage device 610 .
  • Volatile media includes dynamic memory, such as main memory 606 .
  • Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 602 . Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
  • Machine-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
  • Various forms of machine-readable media may be involved in carrying one or more sequences of one or more instructions to processor 604 for execution.
  • the instructions may initially be carried on a magnetic disk of a remote computer.
  • the remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem.
  • a modem local to computer system 600 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal.
  • An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 602 .
  • Bus 602 carries the data to main memory 606 , from which processor 604 retrieves and executes the instructions.
  • the instructions received by main memory 606 may optionally be stored on storage device 610 either before or after execution by processor 604 .
  • Computer system 600 also includes a communication interface 618 coupled to bus 602 .
  • Communication interface 618 provides a two-way data communication coupling to a network link 620 that is connected to a local network 622 .
  • communication interface 618 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line.
  • ISDN integrated services digital network
  • communication interface 618 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN.
  • LAN local area network
  • Wireless links may also be implemented.
  • communication interface 618 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
  • Network link 620 typically provides data communication through one or more networks to other data devices.
  • network link 620 may provide a connection through local network 622 to a host computer 624 or to data equipment operated by an Internet Service Provider (ISP) 626 .
  • ISP 626 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 628 .
  • Internet 628 uses electrical, electromagnetic or optical signals that carry digital data streams.
  • the signals through the various networks and the signals on network link 620 and through communication interface 618 which carry the digital data to and from computer system 600 , are exemplary forms of carrier waves transporting the information.
  • Computer system 600 can send messages and receive data, including program code, through the network(s), network link 620 and communication interface 618 .
  • a server 630 might transmit a requested code for an application program through Internet 628 , ISP 626 , local network 622 and communication interface 618 .
  • the received code may be executed by processor 604 as it is received, and/or stored in storage device 610 , or other non-volatile storage for later execution. In this manner, computer system 600 may obtain application code in the form of a carrier wave.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

A print driver is configured to store, retrieve and re-print processed print data that has been generated by the print driver. Processed print data may be stored locally or remotely and may be stored in a secure manner. The print driver may also be configured to save user settings data that indicates one or more user settings used by the print driver to process the print data and generate the processed print data. The print driver also allows processed print data to be retrieved and re-transmitted to printing devices. The print driver generates a graphical user interface that allows users to store, retrieve and print processed print data.

Description

FIELD OF THE INVENTION
This invention relates generally to print drivers and more specifically, to a print driver with processed print data management capability.
BACKGROUND
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, the approaches described in this section may not be prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Generally speaking, print drivers are processes that process print data generated by an application program and convert the print data into a format supported by a printing device that is intended to process the print data. For example, a user creates an electronic document using a word processing application. The user then uses a print option in the application program to request that the electronic document be printed to a particular printing device. The application program generates and provides print data to a print driver installed on the user's client device. Sometimes this involves the use of an intermediary process referred to as a spooler that saves the print data locally. The print driver processes the print data and generates processed print data that is in a format supported by the particular printing device. For example, the print driver may process the print data and generate processed print data that conforms to the postscript format. The generation of the processed print data typically involves the use of a rendering module or functionality that translates the print data into the format required by the particular print device. The print driver then transmits the processed print data to the particular printing device. The particular printing device processes the processed print data and generates a printed version of the electronic document.
Print drivers may reside on client devices, server devices, such as print servers, or even on printing devices. Furthermore, print drivers may be integrated into application programs, but are more typically implemented as separate processes to simplify implementing newer versions.
One of the drawbacks of conventional print drivers is that a significant amount of computational resources and time may be required by a rendering module to process the print data generated by an application program. This is particularly true for print data that contains a large amount of graphics. Since conventional print drivers do not maintain processed print data after it has been transmitted to a printing device, print drivers have to process print data every time it is received, even if the print driver has previously processed the same print data. Thus, when a user re-prints a document, the print driver must completely re-process the print data generated by the application program and again incur the computational expenses and time required to process the print data. Furthermore, if the original document is no longer available, the processed print data cannot be retrieved by the print driver.
SUMMARY
A print driver is configured to store, retrieve and re-print processed print data that has been generated by the print driver. Processed print data may be stored locally or remotely and may be stored in a secure manner. The print driver may also be configured to save user settings data that indicates one or more user settings used by the print driver to process the print data and generate the processed print data. The print driver also allows processed print data to be retrieved and re-transmitted to printing devices. The print driver generates a graphical user interface that allows users to store, retrieve and print processed print data.
According to one embodiment of the invention, a print driver includes a rendering module and a print data management module. The rendering module is configured to process print data generated by an application program and generate processed print data that conforms to a format supported by a printing device that is intended to process the processed print data. The print driver is configured to cause the processed print data to be transmitted to the printing device. The print data management module is configured to store the processed print data to storage, retrieve the processed print data from the storage, and cause the processed print data retrieved from the storage to be transmitted to the printing device for processing.
BRIEF DESCRIPTION OF THE DRAWINGS
In the figures of the accompanying drawings like reference numerals refer to similar elements.
FIG. 1 is a block diagram that depicts an example arrangement in which print driver data logging may be implemented, according to an embodiment of the invention.
FIGS. 2A and 2B are an example graphical user interface generated by a graphical user interface module.
FIG. 3 is a flow diagram that depicts an approach for a print driver saving processed print data, according to an embodiment of the invention.
FIG. 4A is an example user interface screen generated by an operating system for accessing properties of printing devices.
FIG. 4B is an example user interface screen generated by an operating system for viewing and setting properties of printing devices.
FIG. 5 is a flow diagram that depicts an approach for a print driver retrieving and re-printing saved processed print data, according to an embodiment of the invention.
FIG. 6 is a block diagram of a computer system on which embodiments of the invention may be implemented.
DETAILED DESCRIPTION
In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention. Various aspects of the invention are described hereinafter in the following sections:
I. Overview
II. Print Data Management Architecture
III. Saving Processed Print Data
IV. Retrieving and Re-Printing Processed Print Data
V. Implementation Mechanisms
I. Overview
A print driver is configured to store, retrieve and re-print processed print data that has been generated by the print driver. Processed print data may be stored locally or remotely and may be stored in a secure manner. The print driver may also be configured to save user settings data that indicates one or more user settings used by the print driver to process the print data and generate the processed print data. The print driver also allows processed print data to be retrieved and re-transmitted to printing devices. The print driver generates a graphical user interface that allows users to store, retrieve and print processed print data. This functionality reduces the computational resources and time required to process print data because print data that has been previously processed does not need to be re-generated by an application program or re-processed by a rendering module. It is therefore very useful in situations where electronic documents are frequently re-printed, for example for re-printing forms and templates. It also preserves the ability to re-print data where the source data that was used to generate the print data is no longer available, for example, for re-printing invoices that cannot be re-generated by the application program that originally generated the invoices.
II. Print Data Management Architecture
FIG. 1 is a block diagram that depicts an example arrangement 100 in which print data may be managed by a print driver, according to an embodiment of the invention. Arrangement 100 includes a client device 102, a printing device 104, a server 106 and a client device 107 that are communicatively coupled to each other via a network 108. Network 108 may be implemented by any medium or mechanism that provides for the exchange of data between the various elements depicts in FIG. 1. Examples of network 108 include, without limitation, a network such as a Local Area Network (LAN), Wide Area Network (WAN), Ethernet or the Internet, or one or more terrestrial, satellite or wireless links. Network 108 may also provide secure communications between the various elements depicted in FIG. 1. The various elements depicted in FIG. 1 may also communicate with each other via one or more direct communications links that are not depicted in FIG. 1 or described herein for purposes of brevity.
Client devices 102, 107 may be any type of client devices and the invention is not limited to any particular type of client device. Examples of client devices 102, 107 include, without limitation, a desktop computer, a laptop computer, a personal digital assistant (PDA), and a telephony device. In the present example, client device 102 includes a user interface 110, applications APP1 112, APP2 114 and APP3 116, a print driver 118 and storage 120.
User interface 110 may be implemented by any mechanisms and/or processes that allow for the exchange of information between client device 102 and users. Examples of user interface 110 include, without limitation, a display, such as a cathode ray tube (CRT) or liquid crystal display (LCD), and an input device, such as a keypad, touchpad, touch screen, keyboard or mouse, or any combination of displays and input devices.
Applications APP1 112, APP2 114 and APP3 116 may be any type of applications that are capable of generating print data. Examples of applications APP1 112, APP2 114 and APP3 116 include, without limitation, a word processing program, a spreadsheet program, an email program or any other type of application.
Print driver 118 may be implemented by any type of print driver and in any form, For example, print driver 118 may be implemented as one or more software processes. According to one embodiment of the invention, print driver 118 includes a rendering module 122, a print data management module 124 and a graphical user interface (GUT) module 126. Print driver 118 may include other modules, elements and functionality not depicted in FIG. 1 or described herein for purposes of brevity, and the invention is not limited to a print driver having any particular combination of modules and functionality. Rendering module 122 processes print data and generates translated print data that conforms to a format supported by an intended recipient printing device. For example, rendering module 122 may process print data generated by a word processing application and generate translated print data that conforms to the postscript format, on the basis that the print data is intended to be processed by printing device 104 and printing device 104 supports postscript. Print data management module 124 and GUI module 126 are described in more detail hereinafter.
Storage 120 may be implemented by any type of storage. Examples of storage 120 include, without limitation, volatile memory, such as random access memory (RAM) and non-volatile storage, such as one or more disks or flash memory. Client device 102 may include other mechanisms, modules, processes, etc., depending upon a particular implementation, that are not depicted in FIG. 1 or described herein for purposes of explanation.
III. Saving Processed Print Data
Print driver 118 is configured to save processed print data that it generates. The particular approach used to trigger the saving of processed print data may vary depending upon a particular implementation and the invention is not limited to any particular approach. According to one embodiment of the invention, print data management module 124 is configured to examine print data or user settings data 130 received by print driver 118 to determine whether the processed print data 128 should be saved. For example, the print data received by print driver 118 may contain data that indicates that print driver 118 should save the processed print data 128. Alternatively, print driver 118 may receive user settings data 130 with the print data. Print data management module 124 examines the user settings data 130 to determine whether the processed print data 128 generated by print driver 118 should be saved. Processed print data 128 may be saved to storage 120 or any other location. For example, processed print data 128 may be saved to another client device, such as client device 107, server 106, printing device 104, or any other network device, such as a multifunction peripheral (MFP) that has the capability to store processed print data 128.
According to one embodiment of the invention, GUI module 126 is configured to generate a graphical user interface that allows a user to indicate that processed print data 128 is to be saved. For example, GUI module 126 may be configured to generate one or more instructions and/or GUI objects which, when processed accordingly, provide a GUI that includes an option for saving processed print data 128.
FIG. 2A is an example user interface screen 200 generated by GUI module 126. The invention is not limited to the example user interface screen 200, which is provided as merely one example. User interface screen 200 may be displayed on user interface 110 in response to a user selecting to print an electronic document from within an application APP1 112, APP2 114, APP3 116. User interface screen 200 indicates the name of the currently-selected printing device, which in this example is “PRINTER # 1”. The user then selects to edit the properties of PRINTER # 1 by selecting the user interface button labeled “Properties”. In response to this selection, GUI module 126 generates and displays user interface screen 250 of FIG. 2B. User interface screen 250 includes a set of tabs that display different user settings for PRINTER # 1, including layout settings and paper/quality settings. User interface screen 250 also includes a Save Job tab that includes a checkbox for saving the current print job. When the checkbox is checked, data is sent to the print driver 118 indicating that the processed print data 128 should be saved. User interface screen 250 indicates the names of prior print jobs (processed print data) that have been saved. User interface screen 250 may include other options not depicted in FIG. 2B. For example, user interface screen 250 may allow a user to specify a location where processed print data 128 is to be saved. This may be provided via a browse or navigation button. As another example, user interface screen 250 may also allow a user to also specify whether processed print data 128 should be stored in a secure manner, e.g., by encrypting the processed print data with a password.
FIG. 3 is a flow diagram 300 that depicts an approach for a print driver saving processed print data, according to an embodiment of the invention. In step 302, a user specifies user settings to indicate saving of processed print data. For example, as depicted in FIGS. 2A and 2B, a user designates properties for the currently-selected printing device, including specifying that the processed print data is to be saved. The user may also specify a location to store the processed print data 128 and whether the processed print data 128 is to be stored in a secure format, for example by being encrypted. In step 304, the user requests printing of an electronic document. For example, the user may request printing of an electronic document via user interface screen 200. In step 306, the application program generates print data and the print data and user settings data 130 are provided to print driver 118. The print data and the user settings data 130 may be included together or may be separate, depending upon a particular implementation. An intermediary process, such as a spooler, may be involved. In step 308, print driver 118 processes the print data and generates processed print data 128 that is transmitted to the specified destination, such as printing device 104. In step 310, the processed print data 128 is saved to the location specified by the user, such as storage 120 or another location. The processed print data 128 may be stored in a secure manner, for example by being encrypted, based upon the user settings data 130.
IV. Retrieving and Re-Printing Processed Print Data
In addition to providing for the storing of processed print data 128, print driver 118 provides for the retrieval and re-processing of processed print data 128. According to one embodiment of the invention, GUI module 126 is configured to generate a graphical user interface that allows a user to retrieve and re-process processed print data 128. For example, GUI module 126 may be configured to generate one or more instructions and/or GUI objects which, when processed accordingly, provide a GUI that includes an option for retrieving and re-processing processed print data 128.
FIG. 4A is an example user interface screen 400 generated by an operating system for accessing properties of printing devices. In the present example, user interface screen 400 is setting the preferences for PRINTER # 1. In response to a user selecting the “printing preferences” option from FIG. 4A, GUI module 126 causes the user interface screen 450 of FIG. 4B to be displayed on user interface 110. User interface screen 450 includes a set of tabs that display different user settings for PRINTER # 1, including layout settings and paper/quality settings. User interface screen 450 also includes a Save Job tab that provides a list of saved processed print data 128 that are available for retrieval and re-printing. These are the processed print data 128 that print data management module 124 has previously saved. The user may select any of the processed print data 128 and then select a user interface object 452 associated with a “print” option to cause the selected processed print data 128 to be re-printed.
Alternatively, a user may select a user interface object 454 associated with a browse option to view processed print data stored at other locations. For example, in response to selecting the user interface object 454, a navigation tool may be presented to the user and allow the user to navigate to various locations. In situations where processed print data 128 has been stored in a secure manner, for example encrypted using a password, the user may be queried for the password prior to allowing the user to re-print the processed print data 128.
FIG. 5 is a flow diagram 500 that depicts an approach for a print driver retrieving and re-printing saved processed print data 128, according to an embodiment of the invention. In step 502, a user selects to view the properties of a printing device. For example, a user selects to view the properties of printing device PRINTER # 1, as depicted in FIG. 4A. In step 504, the properties for the printing device are displayed. For example, the set of property tabs for printing device PRINTER # 1 are displayed in FIG. 4B. In step 506, the user selects the “Save Job” tab to view the processed print data 128 that has been saved by print data management module 124. In step 508, the user may select particular processed print data 128 and request that the particular processed print data 128 be re-printed. In step 510, the user may be queried for a password or other authentication data if the selected processed print data 128 was stored in a secure manner. In step 512, the selected processed print data 128 is printed at the specified printing device. Note that no involvement by the application program that originally generated the print data is required. In addition, the print data does not have to be re-processed by rendering module 122. In step 514, the user may browse to other locations to view other processed print data 128.
V. Implementation Mechanisms
The print driver configured to store, retrieve and re-print processed print data may be implemented on any print driver at any location. Although embodiments of the invention have been depicted in the figures and described herein in the context of client-side implementations, the invention is not limited to this context and the approach may be implemented in print drivers implemented on a server, for example a print server.
The print driver configured to store, retrieve and re-print processed print data may be implemented on any type of computing platform or architecture. FIG. 6 is a block diagram that illustrates an example computer system 600 upon which an embodiment of the invention may be implemented. Computer system 600 includes a bus 602 or other communication mechanism for communicating information, and a processor 604 coupled with bus 602 for processing information. Computer system 600 also includes a main memory 606, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 602 for storing information and instructions to be executed by processor 604. Main memory 606 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 604. Computer system 600 further includes a read only memory (ROM) 608 or other static storage device coupled to bus 602 for storing static information and instructions for processor 604. A storage device 610, such as a magnetic disk or optical disk, is provided and coupled to bus 602 for storing information and instructions.
Computer system 600 may be coupled via bus 602 to a display 612, such as a cathode ray tube (CRT), for displaying information to a computer user. An input device 614, including alphanumeric and other keys, is coupled to bus 602 for communicating information and command selections to processor 604. Another type of user input device is cursor control 616, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 604 and for controlling cursor movement on display 612. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
The invention is related to the use of computer system 600 for implementing the techniques described herein. According to one embodiment of the invention, those techniques are performed by computer system 600 in response to processor 604 executing one or more sequences of one or more instructions contained in main memory 606. Such instructions may be read into main memory 606 from another machine-readable medium, such as storage device 610. Execution of the sequences of instructions contained in main memory 606 causes processor 604 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
The term “machine-readable medium” as used herein refers to any medium that participates in providing data that causes a machine to operation in a specific fashion. In an embodiment implemented using computer system 600, various machine-readable media are involved, for example, in providing instructions to processor 604 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 610. Volatile media includes dynamic memory, such as main memory 606. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 602. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
Common forms of machine-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
Various forms of machine-readable media may be involved in carrying one or more sequences of one or more instructions to processor 604 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 600 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 602. Bus 602 carries the data to main memory 606, from which processor 604 retrieves and executes the instructions. The instructions received by main memory 606 may optionally be stored on storage device 610 either before or after execution by processor 604.
Computer system 600 also includes a communication interface 618 coupled to bus 602. Communication interface 618 provides a two-way data communication coupling to a network link 620 that is connected to a local network 622. For example, communication interface 618 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 618 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 618 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
Network link 620 typically provides data communication through one or more networks to other data devices. For example, network link 620 may provide a connection through local network 622 to a host computer 624 or to data equipment operated by an Internet Service Provider (ISP) 626. ISP 626 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 628. Local network 622 and Internet 628 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 620 and through communication interface 618, which carry the digital data to and from computer system 600, are exemplary forms of carrier waves transporting the information.
Computer system 600 can send messages and receive data, including program code, through the network(s), network link 620 and communication interface 618. In the Internet example, a server 630 might transmit a requested code for an application program through Internet 628, ISP 626, local network 622 and communication interface 618. The received code may be executed by processor 604 as it is received, and/or stored in storage device 610, or other non-volatile storage for later execution. In this manner, computer system 600 may obtain application code in the form of a carrier wave.
In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. Thus, the sole and exclusive indicator of what is, and is intended by the applicants to be, the invention is the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction. Hence, no limitation, element, property, feature, advantage or attribute that is not expressly recited in a claim should limit the scope of such claim in any way. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims (27)

1. A print driver comprising:
a rendering module configured to process print data generated by an application program and generate processed print data that conforms to a format supported by a printing device that is intended to process the processed print data; and
a print data management module configured to:
store, to storage, the processed print data generated by the rendering module that conforms to the format supported by the printing device that is intended to process the processed print data,
retrieve, from the storage, the processed print data that was previously stored in the storage and that was generated by the rendering module and that conforms to the format supported by the printing device that is intended to process the processed print data, and
cause, to be transmitted to the printing device for processing, the processed print data that was generated by the rendering module and conforms to a format supported by the printing device that is intended to process the processed print data.
2. The print driver recited in claim 1, wherein the storage is local storage that resides on the same device as the print driver.
3. The print driver recited in claim 1, wherein the storage is remote storage that resides on a different device than the print driver and the print data management module is further configured to store the processed print data to remote storage over a network.
4. The print driver recited in claim 1, wherein the print data management module is further configured to store the processed print data in a secure manner.
5. The print driver recited in claim 1, wherein the print driver is further configured to save user settings data that indicates one or more user settings used by the print driver to process the print data.
6. The print driver recited in claim 1, further comprising a graphical user interface module configured to generate graphical user interface data, wherein processing of the graphical user interface data allows a user to specify that the processed print data is to be stored by the print driver.
7. The print driver recited in claim 1, further comprising a graphical user interface module configured to generate graphical user interface data, wherein processing of the graphical user interface data allows a user to retrieve the processed print data from the storage and cause the processed print data retrieved from the storage to be transmitted to the printing device for processing.
8. The print driver recited in claim 7, wherein the graphical user interface module is further configured to generate the graphical user interface data in a manner such that processing of the graphical user interface data provides a browsing function that allows the user to view and retrieve processed print data stored at a plurality of locations.
9. The print driver recited in claim 7, wherein the graphical user interface module is further configured to generate the graphical user interface data in a manner such that processing of the graphical user interface data requires a user to enter password data and the password data be successfully verified before the user is allowed to retrieve the processed print data from the storage and cause the processed print data retrieved from the storage to be transmitted to the printing device for processing.
10. A computer-implemented method for processing print data generated by an application program, the computer-implemented method comprising:
at a print driver, processing print data generated by an application program and generating processed print data that conforms to a format supported by a printing device that is intended to process the processed print data; and
at the print driver:
storing, to storage, the processed print data generated by the rendering module that conforms to the format supported by the printing device that is intended to process the processed print data,
retrieving, from the storage, the processed print data that was previously stored in the storage and that was generated by the rendering module and conforms to the format supported by the printing device that is intended to process the processed print data, and
causing, to be transmitted to the printing device for processing, the processed print data that was generated by the rendering module and conforms to the format supported by the printing device that is intended to process the processed print data.
11. The computer-implemented method as recited in claim 10, wherein the storage is local storage that resides on the same device as the print driver.
12. The computer-implemented method as recited in claim 10, wherein the storage is remote storage that resides on a different device than the print driver and the computer-implemented method further comprises at the print driver storing the processed print data to remote storage over a network.
13. The computer-implemented method as recited in claim 10, further comprising at the print driver storing the processed print data in a secure manner.
14. The computer-implemented method as recited in claim 10, further comprising at the print driver saving user settings data that indicates one or more user settings used by the print driver to process the print data.
15. The computer-implemented method as recited in claim 10, further comprising at the print driver generating graphical user interface data, wherein processing of the graphical user interface data allows a user to specify that the processed print data is to be stored by the print driver.
16. The computer-implemented method as recited in claim 10, further comprising at the print driver generating graphical user interface data, wherein processing of the graphical user interface data allows a user to retrieve the processed print data from the storage and cause the processed print data retrieved from the storage to be transmitted to the printing device for processing.
17. The computer-implemented method as recited in claim 16, further comprising at the print driver generating the graphical user interface data in a manner such that processing of the graphical user interface data provides a browsing function that allows the user to view and retrieve processed print data stored at a plurality of locations.
18. The computer-implemented method as recited in claim 16, further comprising at the print driver generating the graphical user interface data in a manner such that processing of the graphical user interface data requires a user to enter password data and the password data be successfully verified before the user is allowed to retrieve the processed print data from the storage and cause the processed print data retrieved from the storage to be transmitted to the printing device for processing.
19. A non-transitory computer-readable medium for processing print data generated by an application program, the non-transitory computer-readable medium storing instructions which, when processed by one or more processors, cause:
at a print driver, processing print data generated by an application program and generating processed print data that conforms to a format supported by a printing device that is intended to process the processed print data; and
at the print driver:
storing, to storage, the processed print data generated by the rendering module that conforms to the format supported by the printing device that is intended to process the processed print data,
retrieving, from the storage, the processed print data that was previously stored in the storage and that was generated by the rendering module and conforms to the format supported by the printing device that is intended to process the processed print data, and
causing, to be transmitted to the printing device for processing, the processed print data that was generated by the rendering module and conforms to the format supported by the printing device that is intended to process the processed print data.
20. The non-transitory computer-readable medium as recited in claim 19, wherein the storage is local storage that resides on the same device as the print driver.
21. The non-transitory computer-readable medium as recited in claim 19, wherein the storage is remote storage that resides on a different device than the print driver and the computer-readable medium further comprises at the print driver storing the processed print data to remote storage over a network.
22. The non-transitory computer-readable medium as recited in claim 19, further comprising additional instructions which, when processed by the one or more processors, cause at the print driver storing the processed print data in a secure manner.
23. The non-transitory computer-readable medium as recited in claim 19, further comprising additional instructions which, when processed by the one or more processors, cause at the print driver saving user settings data that indicates one or more user settings used by the print driver to process the print data.
24. The non-transitory computer-readable medium as recited in claim 19, further comprising additional instructions which, when processed by the one or more processors, cause at the print driver generating graphical user interface data, wherein processing of the graphical user interface data allows a user to specify that the processed print data is to be stored by the print driver.
25. The non-transitory computer-readable medium as recited in claim 19, further comprising additional instructions which, when processed by the one or more processors, cause at the print driver generating graphical user interface data, wherein processing of the graphical user interface data allows a user to retrieve the processed print data from the storage and cause the processed print data retrieved from the storage to be transmitted to the printing device for processing.
26. The non-transitory computer-readable medium as recited in claim 25, further comprising additional instructions which, when processed by the one or more processors, cause at the print driver generating the graphical user interface data in a manner such that processing of the graphical user interface data provides a browsing function that allows the user to view and retrieve processed print data stored at a plurality of locations.
27. The non-transitory computer-readable medium as recited in claim 25, further comprising additional instructions which, when processed by the one or more processors, cause at the print driver generating the graphical user interface data in a manner such that processing of the graphical user interface data requires a user to enter password data and the password data be successfully verified before the user is allowed to retrieve the processed print data from the storage and cause the processed print data retrieved from the storage to be transmitted to the printing device for processing.
US11/698,544 2007-01-26 2007-01-26 Print driver with processed print data management capability Expired - Fee Related US8164767B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/698,544 US8164767B2 (en) 2007-01-26 2007-01-26 Print driver with processed print data management capability
JP2008015504A JP2008186459A (en) 2007-01-26 2008-01-25 Print driver with processed print data management function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/698,544 US8164767B2 (en) 2007-01-26 2007-01-26 Print driver with processed print data management capability

Publications (2)

Publication Number Publication Date
US20080180723A1 US20080180723A1 (en) 2008-07-31
US8164767B2 true US8164767B2 (en) 2012-04-24

Family

ID=39667597

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/698,544 Expired - Fee Related US8164767B2 (en) 2007-01-26 2007-01-26 Print driver with processed print data management capability

Country Status (2)

Country Link
US (1) US8164767B2 (en)
JP (1) JP2008186459A (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311031B2 (en) * 2008-03-31 2016-04-12 Ricoh Company, Ltd. Approach for printing policy-enabled electronic documents using locked printing and a shared memory data structure
US8797563B2 (en) * 2008-03-31 2014-08-05 Ricoh Company, Ltd. Approach for printing policy-enabled electronic documents using locked printing
US9513857B2 (en) * 2008-03-31 2016-12-06 Ricoh Company, Ltd. Approach for processing print data using password control data
US8107103B2 (en) * 2008-07-02 2012-01-31 Ricoh Company, Ltd. Print driver for printing policy-enabled electronic documents using locked printing
US8111413B2 (en) * 2009-02-09 2012-02-07 Ricoh Company, Ltd. Approach for securely printing policy-enabled electronic documents based on print driver and printing device support
US8493600B2 (en) * 2010-12-14 2013-07-23 Microsoft Corporation Multi-layered printer driver model
US8904048B2 (en) 2011-09-08 2014-12-02 Microsoft Corporation Bidi extension for connected devices

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193685A1 (en) * 1997-09-26 2003-10-16 Seiji Kageyama Printing system wherein printer connected to one computer is managed by another computer over a network
JP2003330638A (en) 2002-05-14 2003-11-21 Canon Inc Printing system
JP2005071175A (en) 2003-08-26 2005-03-17 Ricoh Co Ltd Print data generation method, program for executing its method on computer, client terminal, printer server, print data generation device, and image forming apparatus
US20060110200A1 (en) * 2004-11-24 2006-05-25 Yasuhiro Kujirai Method of protecting leakage of information, and information processing apparatus and driver program which implement the method
US20060238793A1 (en) * 2005-04-26 2006-10-26 Canon Kabushiki Kaisha On-demand publishing system
US7701603B2 (en) * 2004-08-31 2010-04-20 Ricoh Company, Ltd. Print processing apparatus, print processing method, and computer-readable medium storing print processing program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272432A (en) * 1998-03-25 1999-10-08 Ricoh Co Ltd Computer readable recording medium for recording printer driver
JP2005165833A (en) * 2003-12-04 2005-06-23 Canon Inc Image forming system
JP2005205755A (en) * 2004-01-23 2005-08-04 Brother Ind Ltd Image forming system, printing apparatus, terminal apparatus and re-printing determining program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193685A1 (en) * 1997-09-26 2003-10-16 Seiji Kageyama Printing system wherein printer connected to one computer is managed by another computer over a network
US7336383B2 (en) * 1997-09-26 2008-02-26 Ricoh Printing Systems, Ltd. Printer system, and printing system using the printer system, for centralized printer management
JP2003330638A (en) 2002-05-14 2003-11-21 Canon Inc Printing system
JP2005071175A (en) 2003-08-26 2005-03-17 Ricoh Co Ltd Print data generation method, program for executing its method on computer, client terminal, printer server, print data generation device, and image forming apparatus
US7701603B2 (en) * 2004-08-31 2010-04-20 Ricoh Company, Ltd. Print processing apparatus, print processing method, and computer-readable medium storing print processing program
US20060110200A1 (en) * 2004-11-24 2006-05-25 Yasuhiro Kujirai Method of protecting leakage of information, and information processing apparatus and driver program which implement the method
US20060238793A1 (en) * 2005-04-26 2006-10-26 Canon Kabushiki Kaisha On-demand publishing system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Cohen, Yoram, "SNMP-Simple Network Management Protocol", retrieved from website , printed on May 18, 2007, 13 pages.
Cohen, Yoram, "SNMP—Simple Network Management Protocol", retrieved from website <http://www2.rad.com/networks/1995/snmp/snmp.htm>, printed on May 18, 2007, 13 pages.
Microsoft, "AsyncUI Notifications", 2005 Microsoft Corporation, retrieved on website , written May 9, 2006, 11 pages.
Microsoft, "AsyncUI Notifications", 2005 Microsoft Corporation, retrieved on website <http://www.microsoft.com/whdc/device/print/AsyncUI.mspx>, written May 9, 2006, 11 pages.

Also Published As

Publication number Publication date
US20080180723A1 (en) 2008-07-31
JP2008186459A (en) 2008-08-14

Similar Documents

Publication Publication Date Title
US8749809B2 (en) Approach for managing printer driver settings
US7249900B1 (en) Approach for implementing locked printing on printing devices
US8780379B2 (en) Approach for implementing locked printing with unlock via a user input device
US8264715B2 (en) Approach for implementing locked printing with remote unlock on printing devices
US8493579B2 (en) Wireless printing from a device outside the network
US8164767B2 (en) Print driver with processed print data management capability
US8456662B2 (en) Control for display of multiple versions of a printable document for locked print
US20060227368A1 (en) Approach for providing scheduled printing of electronic documents
US20100253968A1 (en) Approach for displaying cost data for locked print data at printing devices
US8319992B2 (en) Approach for processing locked print jobs obtained from other printing devices
US20130163014A1 (en) Providing an integrated, feature oriented printer selection system
US20170123737A1 (en) Managing print jobs based on planned routes
US7315396B2 (en) Systems and methods for generating banner pages
US20080180724A1 (en) Print driver data logging
US10031706B2 (en) Managing print jobs
JP2012245695A (en) Image output device, program, and system
US9224072B2 (en) System and method for generating a user interface from a printer description
US20070171448A1 (en) Mime type-based printer driver selection
JP2009116874A (en) Approach for managing print error using print agent
WO2010128339A2 (en) Method and apparatus for printing from a mobile device
JP2010198444A (en) Printing data storage server, program, and storage medium
Liu et al. Proof print” for job settings
JP2005122454A (en) Print method, print system, program and storage medium
JP2007310527A (en) Job generation device, image formation apparatus, image formation system, job generation method, image formation method and program

Legal Events

Date Code Title Description
AS Assignment

Owner name: RICOH COMPANY, LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SELVARAJ, SENTHIL K.;REEL/FRAME:018859/0610

Effective date: 20070124

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20200424