1. Field of the Invention
The present invention relates to a system, a printing apparatus, a control method, and a recording medium.
2. Description of the Related Art
In recent years, a “general-purpose printer driver”, which is a printer driver that can be used in any type of printers, has been researched and developed. The general-purpose printer driver, however, is configured to support only functions that are common to printers and thus there is the issue that a function that is unique to each printer cannot be used with the general-purpose printer driver.
Thus, U.S. Patent Application Publication No. 2012/0147414 discusses a technique in which an information processing apparatus accesses a storage device of an apparatus, such as a printer and a server on a network, so as to acquire a setting file including information on the printer function and extends the function of the printer driver.
With this technique, a function unique to each printer can be used even with a general-purpose printer driver.
In the system discussed in U.S. Patent Application Publication No. 2012/0147414, however, the setting file acquired from the storage device is always the same.
It is often possible to add a new printing function to a printer or to limit a printing function of the printer by changing a device setting of the printer. However, if an acquired setting file is always the same, a problem arises in that a change performed to the device setting is not reflected on a function for, for example, the print setting of the printer driver.
A configuration for addressing the above issue will be described in the present specification. The present specification is directed to a configuration in which a printer provides a function setting file in accordance with a status of the printer and a client thus a print setting function in accordance with the function setting file can be provided.
According to an aspect of the present invention, a printing apparatus includes a storage unit configured to store information input by a user operation, a generation unit configured to generate an extended file based on the information stored by the storage unit, and a transmission unit configured to transmit the extended file to an information processing apparatus, wherein a print setting function of the information processing apparatus is extended based on the extended file.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
Hereinafter, exemplary embodiments for implementing the present invention will be described with reference to the drawings.
As illustrated in
The PC 10 and the printer 20 are interconnected via a local area network (LAN) 1. The LAN 1 supports an Ethernet (registered trademark) communication scheme. The PC 10 and the printer 20 may be connected to each other by another connection mode, such as a wired LAN, Bluetooth (registered trademark), and a Universal Serial Bus (USB).
In the PC 10 illustrated in
A read-only memory (ROM) 103 stores various pieces of programs and data and includes a font ROM 103a that stores various types of fonts, a program ROM 103b that stores a boot program, the basic input/output system (BIOS), and the like, and a data ROM 103c that stores various pieces of data.
A network interface (I/F) 105 is connected to the LAN 1 and performs a communication process. A keyboard controller I/F 106 controls a key input via a keyboard 109 or a pointing device (mouse) (not illustrated).
A display I/F 107 controls a display process of a display 110. An external memory I/F 108 controls an access to an external memory 111, such as a hard disk (HD).
The external memory 111 functions as a storage medium that stores an operating system (hereinafter, the OS) 112, various pieces of software 113 for the printing system according to the present exemplary embodiment, and various pieces of data 114, such as a user file, an edited file, and the like.
The type of the OS 112 is not particularly limited, but Microsoft Windows (registered trademark) is used in the present exemplary embodiment.
A configuration of the printer 20 will be described.
In the printer 20, a CPU 201 collectively controls devices connected to a system bus 204 in accordance with a program stored in a RAM 202. The RAM 202 functions as a main memory, a work area, and the like of the CPU 201 and is also used as an output information expansion area and an environmental data storage area.
The RAM 202 also includes a non-volatile RAM (NVRAM) area and is configured to be capable of expanding its memory capacity using an optional RAM to be connected to an expansion port (not illustrated).
A ROM 203 includes a font ROM 203a that stores various types of fonts, a program ROM 203b that stores a control program and the like to be executed by the CPU 201, and a data ROM 203c that stores various pieces of data. A network I/F 205 is connected to the LAN 1 and performs a communication process. A printing unit I/F 206 controls an interface for a printing unit 209 serving as a printer engine.
An operation unit 210 that is controlled via an operation unit I/F 207 is provided with an operation panel that receives a user operation. The operation panel is provided with a switch, a light-emitting diode (LED) display, and the like (not illustrated) that allow the user to operate the operation panel. An external memory I/F 208 controls an access to an external memory 211, such as an HD.
The external memory 211 functions as a storage medium that stores a device OS 212, various pieces of software 213 for the printing system according to the present exemplary embodiment, and various pieces of data 214, such as an extended generic printer description (GPD) file (extended file).
A GPD file is a data file that defines a print setting of a printer driver, and an extended GPD file is a data file to be used to extendedly define a print setting after a printer driver has been installed.
The CPU 201 can communicate with the PC 10 via the network I/F 205 and receives printer description language (PDL) data transmitted from the PC 10. Although the type of the PDL is not particularly limited, an extensible markup language paper specification (XPS) (Extensible Markup Language (XML) Paper Specification) format is used in the present exemplary embodiment.
The CPU 201 can output an image signal obtained by converting print data to the printing unit 209 via the printing unit I/F 206 in accordance with the control program and the like stored in the program ROM 203b of the ROM 203.
The software configuration of the PC 10 will be described.
In the PC 10 illustrated in
An Ethernet controller 11 controls an Ethernet communication process via the network I/F 105. A transmission control protocol/user datagram protocol/Internet protocol (TCP/UDP/IP) protocol stack 12 arranged in a layer above the Ethernet controller 11 controls protocol communication using TCP/UDP/IP.
A hypertext transfer protocol (HTTP) protocol stack 13 arranged in a layer above the TCP/UDP/IP protocol stack 12 controls a communication process using HTTP. A simple object access protocol (SOAP) processor 14 controls a communication process using SOAP.
The SOAP is a communication protocol that is used in a web service technique for calling a process and retrieving data to a device from another device. A PC web services on devices (WSD) module 15 controls a WSD communication process via the SOAP processor 14.
The WSD is a type of web service technique of which specifications have been defined by Microsoft (registered trademark) and so on. A printer installer 16 is a program that searches for a device using a WSD communication and installs a printer driver 17 in the OS 112. In addition, the printer installer 16 extends the function of the printer driver 17 based on information obtained by the communication.
The software configuration of the printer 20 will be described.
Software components (described below) of the printer 20 are stored in the external memory 211, and when a process is to be started, the software components are loaded onto the RAM 202 and executed by the CPU 201. An Ethernet controller 21 controls an Ethernet communication process via the network I/F 205. A TCP/UDP/IP protocol stack 22 arranged in a layer above the Ethernet controller 21 controls TCP/UDP/IP protocol communication.
An HTTP protocol stack 23 arranged in a layer above the TCP/UDP/IP protocol stack 22 controls an HTTP communication process, and a SOAP processor 24 controls a SOAP communication process. A printer WSD module 25 controls a WSD communication process via the SOAP processor 24. The printer WSD module 25 is controlled by a printer controller 26.
The printer controller 26 performs a process relating to a device setting which is input via the operation unit 210. A function extension module 27 updates a function setting file in accordance with the device setting.
With reference to
The printer driver 17 includes at least an INF file 1710 that describes information for installation and a GPD file 1711 that defines the function setting file. The printer driver 17 may also include a conversion filter module, a resource file, and the like (not illustrated).
The INF file 1710 includes information on a model name 17101 and a hardware ID 17102. The hardware ID 17102 is an identifier for associating a device with a driver.
The printer installer 16 determines compatibility by determining whether a printer hardware ID 1700 included in attribute information obtained from the printer 20 matches the hardware ID 17102 described in the INF file 1710.
According to the present exemplary embodiment, the printer hardware ID 1700 obtained from the printer 20 is a character string “WSDPRINT¥IHVPRINTERA”. The character string in the hardware ID 17102 of the printer driver 17 is also “WSDPRINT¥IHVPRINTERA”, which matches the printer hardware ID 1700.
In a case where the printer hardware ID 1700 matches the hardware ID 17102 and it is determined that the printer driver 17 is compatible with the printer 20, the printer installer 16 copies the GPD file 1711 into a GPD folder 302. Through this operation, the printer driver 17 is installed and becomes available.
The GPD file 1711 defines various pieces of setting information that can be input via the printer driver 17. Examples of the setting information include the number of copies, paper orientation, a paper size, a paper type, a one-sided or two-sided option, and a paper feeding method. Among these examples, an example of defining the setting information of the paper type is described in the present exemplary embodiment.
Specifically, the GPD file 1711 describes two pieces of information of “PLAIN (plain paper)” and “RECYCLED (recycled paper)” as a selectable paper type.
The values “PLAIN” and “RECYCLED” in an option attribute correspond to the IDs for a paper type specification reflected in a print command generated by the printer driver 17. In addition, the values “PLAIN PAPER” and “RECYCLED PAPER” in a name attribute correspond to wording displayed in the UI for a print setting provided by the printer driver 17.
The paper types are defined by physical properties, such as a grammage and a surface nature, and the printer 20 is required to control printing based on the physical properties. However, there is sometimes a case in which physical properties of the type of paper that the user actually wants to use do not match any of the paper types defined in advance.
In order to accommodate such a situation, the printer 20 includes an input unit through which information on a new paper type can be registered together with the physical property thereof.
In
In the screen 2101, when a button 21013 is pressed, among the registered paper types, a selected paper type can be deleted (only an element that the user has registered at a later timing can be deleted).
With reference to
As attributes in the database, the ID 2201, the name 2202, the grammage 2203, the surface nature 2204, and the registered paper flag 2205 are defined. The elements in the database are roughly classified into paper types that are available in the printer 20 from the beginning and paper types that are registered by the user at a later timing. The attribute of the registered paper flag 2205 is NO for the former and YES for the latter.
The values, such as “PLAIN” and “RECYCLED” are defined in advance for the ID 2201 of the paper types that are available from the beginning, and a unique ID, such as a value of “CUSTOM1”, is assigned to a paper type that is registered at a later timing when the paper type is registered.
In step S101, the function extension module 27 receives, from the printer controller 26, a notification indicating that the paper type database 2200 has been modified, or in other words, a notification indicating that a new paper type has been added or a paper type has been deleted. In step S102, the function extension module 27 generates a new extended GPD file. Although an extended GPD file is stored in the external memory 211, a new extended GPD file is created each time a paper type is added or deleted, and thus an extended GPD file stored before start of the process is deleted.
In step S103, the function extension module 27 accesses the paper type database 2200 and reads the elements, one by one, from the top of the list.
In step S104, the function extension module 27 determines whether the attribute of the registered paper flag 2205 of the read element is YES. In a case where the function extension module 27 determines that the attribute is YES (YES in step S104), the processing proceeds to step S105. In a case where the function extension module 27 determines that the attribute is NO (NO in step S104), the processing returns to step S103, so that the function extension module 27 reads a subsequent element.
In step S105, the function extension module 27 adds the ID attribute and the name attribute of the read element (of the paper type added at a later timing) to the extended GPD file.
In step S201, upon receiving a search instruction from a user to search for a printer driver, the printer installer 16 issues a search instruction to the PCWSD module 15.
In step S202, upon receiving the search instruction from the printer installer 16, the PCWSD module 15 generates a Probe message 2301 and transmits the Probe message 2301 to the printer 20.
WSD communication of the PC 10 is relayed via the SOAP processor 14, the HTTP protocol stack 13, the TCP/UDP/IP protocol stack 12, the Ethernet controller 11, and the network I/F 105, but this feature will be omitted in the description described below.
In step S203, upon receiving the Probe message 2301, the printer WSD module 25 transmits the Probe message 2301 to the printer controller 26 and requests the printer controller 26 to generate a ProbeMatch message 2302.
WSD communication of the printer 20 is relayed via the network I/F 205, the Ethernet controller 21, the TCP/UDP/IP protocol stack 22, the HTTP protocol stack 23, and the SOAP processor 24, but this feature will be omitted in the description described below.
In step S204, the printer controller 26 generates the ProbeMatch message 2302 and transmits the ProbeMatch message 2302 to the printer WSD module 25. In step S205, the printer WSD module 25 transmits the ProbeMatch message 2302 to the PC 10. Here, a Probe is a message that is transmitted in order to search for a WSD-supported device connected to the LAN 1, and the ProbeMatch is a response message to the Probe.
The ProbeMatch message 2302 for response includes information on the type of the device, a uniform resource locator (URL) for acquiring MetaData, and the like. The MetaData is data in which information on the name of the printer, the URL for the printer service, and the like is put together.
In step S206, the PCWSD module 15 generates a MetaData acquisition message 2401 based on the URL information for acquiring the MetaData, which has been acquired from the ProbeMatch message 2302, and transmits the MetaData acquisition message 2401 to the printer 20.
In step S207, upon receiving the MetaData acquisition message 2401, the printer WSD module 25 transmits, to the printer controller 26, the MetaData acquisition message 2401 corresponding to an acquisition request, and requests the printer controller 26 to generate a MetaData acquisition response message 2402.
In step S208, the printer controller 26 generates the MetaData acquisition response message 2402 and transmits the MetaData acquisition response message 2402 to the printer WSD module 25. In step S209, the printer WSD module 25 transmits the MetaData acquisition response message 2402 to the PC 10.
The MetaData acquisition response message 2402 for response includes information on the name of the printer, the URL for the printer service, and the like.
In step S210, upon receiving the MetaData acquisition response message 2402, the PCWSD module 15 transmits, to the printer installer 16, information on the printer name and the like acquired from the MetaData acquisition response message 2402 as a search result. Described above is the search process, and the steps described hereinafter are related to installation.
In step S211, when the user inputs an instruction indicating that the printer driver 17 corresponding to the printer 20 included in the search result is to be installed, the printer installer 16 issues a printer information acquisition instruction to the PCWSD module 15.
In steps S212 through S215, the PCWSD module 15 transmits a PrinterElement acquisition message 2501, and acquires a response to the PrinterElement acquisition message 2501 via the printer WSD module 25 and the printer controller 26.
The PrinterElement acquisition response message 2502 includes device ID information and information on the extended GPD file 1712. The PrinterElement acquisition response message 2502 also includes information on color printing capabilities and a printing speed.
In step S216, the PCWSD module 15 transmits the PrinterElement acquisition response message 2502 to the printer installer 16.
In step S217, upon receiving the PrinterElement acquisition response message 2502, the printer installer 16 generates the printer hardware ID 1700 based on the device ID information included in the PrinterElement acquisition response message 2502. The device ID information is information on which the printer hardware ID 1700 is based.
The value “IHVPRINTERA” in the printer hardware ID 1700 is obtained by combining the values “MFG:IHV” and “MDL:PRINTERA” included in the device ID information.
In step S218, the printer installer 16 searches the driverstore 301 for a printer driver having a hardware ID that matches the printer hardware ID 1700 of the printer 20 obtained in step S217 and selects a printer driver.
As described with reference to
In step S219, the printer installer 16 combines the extended GPD file 1712 included in the PrinterElement acquisition response message 2502 and the GPD file 1711 so as to generate a combined GPD file 1713.
In step S220, the printer installer 16 copies the combined GPD file 1713 into the GPD folder 302, and the installation process is completed.
Upon reading the combined GPD file 1713 stored in the GPD folder 302, the printer driver 17 generates a UI screen 2601 that lists the paper types indicated in the screen example illustrated in
In the foregoing description, a case in which a paper type is added has been described. With reference to
The setting in the first half is a definition in the original GPD file, in which the setting of the default value (DefalutOption attribute) indicates COLOR, and the definition in the extended GPD in the second half indicates MONO. When the extended GPD file 1714 is read into the printer driver 17, the second half overrides the first half, and the setting in the second half becomes valid. Therefore, the default setting in the installed printer driver 17 becomes monochrome.
The setting in the first half is the definition in the original GPD, in which one of the three settings, namely, one-sided printing, two-sided printing (long-side binding), and two-sided printing (short-side binding) of the two-sided printing function can be selected.
Meanwhile, in the extended GPD portion in the second half, a function of one-sided printing prohibition (functional restriction information) for preventing the one-sided printing option from being selected in the two-sided printing function is defined.
Through this configuration, when a combined GPD file of the extended GPD file 1715 is read in to the printer driver 17, the one-sided printing option becomes unavailable in the user interface, and the user instead has to select either the two-sided printing option (long-side binding) or the two-sided printing option (short-side binding). A second exemplary embodiment for implementing the present invention will be described.
According to the first exemplary embodiment, a device setting change of the printer is reflected on an installed printer driver. The assumption is that the printer driver is installed after the device setting change is performed.
According to the second exemplary embodiment, a device setting change is reflected on a printer driver installed in advance.
In step S300, the printer installer 16 performs an installation process of the printer driver 17. Step S300 corresponds to a series of processes in steps S201 through S220 described with reference to
In step S302, upon receiving the event registration instruction from the printer installer 16, the PCWSD module 15 generates a Subscribe message and transmits the Subscribe message to the printer 20. In step S303, upon receiving the Subscribe message, the printer WSD module 25 transmits the Subscribe message to the printer controller 26.
In step S304, the printer controller 26 stores the address of the PC 10 serving as an event notification destination in the external memory 211, and in step S305, the printer controller 26 transmits a Subscribe response message to the printer WSD module 25.
In step S306, the printer WSD module 25 transmits the Subscribe response message to the PCWSD module 15.
In step S307, upon detecting a device setting change performed by the user, the printer controller 26 generates an extended GPD file based on changed device setting information by using the function extension module 27. Step S307 is a process that is similar to, for example, the process of adding a newly registered paper type to the definition in the extended GPD by the function extension module 27 described in steps S101 through S106.
In step S308, the printer controller 26 transmits a PrinterElementChange message to the printer WSD module 25. In step S309, the printer WSD module 25 transmits the PrinterElementChange message to the PCWSD module 15.
The PrinterElementChange message 2703 is a message for notifying the PC 10 of a detected device setting change in the printer 20 and, according to the present exemplary embodiment, includes information on the extended GPD file generated in step S306.
In step S310, upon receiving the PrinterElementChange message, the PCWSD module 15 transmits a device setting reflection instruction to the printer installer 16. Thus, the information on the extended GPD file included in the PrinterElementChange message is transmitted to the printer installer 16 in accordance with the device setting reflection instruction.
In step S311, upon receiving the device setting reflection instruction, the printer installer 16 performs a device setting reflection process. The device setting reflection process is a process in which the extended GPD file is applied to the installed printer driver 17 so as to change the printing function.
First, in step S401, the printer installer 16 stores a user setting associated with the printer driver 17. Here, the user setting refers to an output destination port setting or a default print setting.
The process in step S401 is for storing such a user setting in order for the user setting to be inherited to the printer driver to which the extended GPD file has been applied. In step S402, the printer driver 17 that has once been installed is uninstalled.
In step S403, the extended GPD file 1712 illustrated in
In step S405, the user setting stored in step S401 is applied to the reinstalled printer driver 17, and thus a state before the reinstallation is restored.
The process of reflecting a device setting change onto a pre-installed printer driver has been described.
Each of the steps in the exemplary embodiments of the present invention can also be implemented by a processing device (CPU, processor) of a personal computer (computer) executing software (program) acquired through a network or in the form of various types of storage media.
The present invention is not limited to the exemplary embodiments described above. Various modifications (including an organic combination of the exemplary embodiments) can be made in accordance with the spirit of the present invention, and such modifications are encompassed within the scope of the present invention.
According to the present invention, as a function setting file that defines a function set to a printer driver to be installed is edited, a printer driver that is suitable for an environment of the function setting file intended by a user can be installed.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2014-118622, filed Jun. 9, 2014, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2014-118622 | Jun 2014 | JP | national |