US10275192B2 - Information processing apparatus, image processing system, and printer driver - Google Patents

Information processing apparatus, image processing system, and printer driver Download PDF

Info

Publication number
US10275192B2
US10275192B2 US15/697,404 US201715697404A US10275192B2 US 10275192 B2 US10275192 B2 US 10275192B2 US 201715697404 A US201715697404 A US 201715697404A US 10275192 B2 US10275192 B2 US 10275192B2
Authority
US
United States
Prior art keywords
information
model
printer
module
print
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
Application number
US15/697,404
Other languages
English (en)
Other versions
US20180067704A1 (en
Inventor
Hiroto Kobayashi
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
Priority claimed from JP2017139328A external-priority patent/JP6834823B2/ja
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Assigned to RICOH COMPANY, LTD. reassignment RICOH COMPANY, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KOBAYASHI, HIROTO
Publication of US20180067704A1 publication Critical patent/US20180067704A1/en
Application granted granted Critical
Publication of US10275192B2 publication Critical patent/US10275192B2/en
Expired - Fee Related legal-status Critical Current
Anticipated 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • 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/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • 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
    • G06F3/1228Printing driverless or using generic drivers
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • 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
    • 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
    • G06F3/1255Settings incompatibility, e.g. constraints, user requirements vs. device capabilities
    • 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/1268Job submission, e.g. submitting print job order or request not the print data itself
    • G06F3/1272Digital storefront, e.g. e-ordering, web2print, submitting a job from a remote submission screen
    • 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

Definitions

  • the present invention relates to an information processing apparatus, an image processing system including the information processing apparatus, and a printer driver.
  • a printer driver is mainly responsible for two roles for operating a printer connected to an information processing apparatus.
  • the first role is to provide a user interface (UI) for allowing a user to set print settings.
  • the second role is to convert data output from an application into data that can be analyzed by a printer based on the print settings set by the user. Accordingly, the printer can execute a print job requested from the user.
  • UI user interface
  • An information processing apparatus communicably connected with a printer includes: a plurality of applications including at least a first application and a second application; a printer driver to control display of a screen for performing print settings for the printer, including a first module to accept a print request from the first application and a second module to accept a print request from the second application.
  • the first module includes: an acquirer to acquire model identification information identifying a model of the printer currently connected with the information processing apparatus through a network; and a storage controller to store connection destination information according to the model of the printer in a storage area that is accessible from the second module.
  • the second module displays a screen according to the model of the printer using the connection destination information read from the storage area.
  • FIG. 1 is a diagram that illustrates a schematic configuration of hardware of an information processing apparatus according to an embodiment of the present invention
  • FIG. 2 is a hardware configuration diagram of the information processing apparatus according to an embodiment of the present invention.
  • FIG. 3 is a software block diagram of an information processing apparatus according to an embodiment of the present invention.
  • FIGS. 4A and 4B are diagrams that illustrate areas that can be accessed by a V4 printer driver and each module configuring the V4 printer driver;
  • FIGS. 5A and 5B are diagrams that illustrate overviews of processes of outputting a print job from a printer driver
  • FIG. 6 is a diagram that illustrates the flow of data of a V4 printer driver according to a first embodiment
  • FIG. 7 is a flowchart of a process performed by a desktop display according to the first embodiment
  • FIGS. 8A, 8B, and 8C are flowcharts that illustrate processes performed by each module based on model information
  • FIGS. 9A and 9B are diagrams that illustrate module configurations of printer drivers
  • FIG. 10 is a sequence diagram that illustrates a first example of the process of installing a printer driver
  • FIGS. 11A and 11B are sequence diagrams that illustrate a second example of the process of installing a printer driver
  • FIGS. 12A and 12B are sequence diagrams that illustrate the whole flow of a print process using a printer driver
  • FIG. 13 is a sequence diagram that illustrates the flow of a process of changing a model
  • FIGS. 14A and 14B are diagrams that illustrate print setting screens displayed before and after a model is changed
  • FIG. 15 is a flowchart that illustrates the flow of a process of generating connection destination information in accordance with a model
  • FIG. 16 is a flowchart that illustrates the flow of an encryption process according to a model
  • FIG. 17 is a flowchart that illustrates the flow of a process of customizing connection destination information
  • FIG. 18 is a diagram that illustrates the flow of data of a V4 printer driver according to a second embodiment
  • FIG. 19 includes FIGS. 19A and 19B , which are sequence diagrams that illustrate an example of an installation process according to the second embodiment
  • FIG. 20 includes FIGS. 20A and 20B , which are sequence diagrams that illustrate an example of a print process according to the second embodiment
  • FIG. 21 is a sequence diagram that illustrates an example of a process of changing a model according to the second embodiment.
  • FIGS. 22A, 22B, and 22C are flowcharts that illustrate examples of processes performed by each module according to the second embodiment.
  • the printer driver has a different print architecture depending on the type and the version of an operating system (OS) of the information processing apparatus.
  • OS operating system
  • a version 3 hereinafter, referred to as V3
  • V4 version 4
  • printer driver in which a new architecture is introduced is employed for Windows 8 or subsequent versions.
  • print setting information can be efficiently edited, by maintaining model dependency information using a printer driver.
  • prohibition rule processing can be efficiently performed, by determining performing/no-performing of prohibition rule processing based on identify determination information.
  • the prohibition rule processing is a process of determining a conflict in settings of a print function.
  • FIGS. 9A and 9B are diagrams that illustrate the module configurations of printer drivers, FIG. 9A illustrates a V3 printer driver, and FIG. 9B illustrates a V4 printer driver.
  • Main characteristics of the V4 printer driver relative to those of the V3 printer driver are as below. While there is a difference in representations between versions, a graphics DDI and a graphics driver that are modules of the V3 printer driver and a filter I/F and a graphics filter of the V4 printer driver are respectively the same.
  • UIs according to the types of application are necessary.
  • the V4 printer driver since it is necessary to cope with both a Windows store application provided by a Windows store and a desktop application that is an application other than the Windows store application, two types of UIs are necessary.
  • a module (printer extension) performing a display process of a screen in a case where the printer driver is called from a desktop application and a module (store device app) performing a display process of a screen in a case where the driver is called from a store application are necessary as different modules.
  • the V3 printer driver can use C or C++ of a high-level language as a mounted language of a module.
  • a mounted language is designated for each module.
  • a graphics filter that performs a process of drawing print data and the like needs to mount C or C++
  • a prohibition rule script performing prohibition rule processing of print settings needs to mount JavaScript (registered trademark; hereinafter the same).
  • JavaScript registered trademark; hereinafter the same.
  • a module performing the process of displaying a screen according to a call from a store application or a prohibition rule script cannot communicate with a connected printer in two ways and cannot acquire the model name of the printer. For this reason, it has been difficult to configure a model common driver that can perform a print setting based on the capability of each model.
  • a model common printer driver which can be commonly used to a plurality of models.
  • printer driver based on the architecture of a V4 printer driver of Windows will be described as an example, the present invention is not limited to Windows or the V4 printer driver.
  • FIG. 1 is a diagram that illustrates a schematic configuration of hardware according to an embodiment of the present invention.
  • FIG. 1 illustrates an example in which an information processing apparatus 110 and a printer 120 are connected through a network.
  • the number of information processing apparatuses 110 may be two or more.
  • the printers 120 are used by configuring a model common printer driver and thus, may be two or four or more printers of different models.
  • the information processing apparatus 110 mounts various kinds of applications and can execute such applications in accordance with a user's operation.
  • the information processing apparatus 110 includes a printer driver corresponding to an OS and can transmit a print job to the printer 120 .
  • the printer 120 is one of image processing apparatuses that is capable of receiving a print job from the information processing apparatus 110 through a network and executing the print job.
  • the image processing apparatus is not limited to the printer 120 but may be a multi-function peripheral (MFP) having a plurality of functions such as a copying function, a scanner function, a facsimile function, and a print function and the like.
  • MFP multi-function peripheral
  • a print job is generated by a printer driver of the information processing apparatus 110 and is received in a data format described in a language that can be interpreted by the printer 120 such as a page description language (PDL), whereby the print job can be performed by the printer 120 .
  • PDL page description language
  • FIG. 2 is a hardware configuration diagram of an information processing apparatus 110 according to an embodiment of the present invention.
  • the information processing apparatus 110 includes a central processing unit (CPU) 201 , a random access memory (RAM) 202 , a read only memory (ROM) 203 , an external I/F 204 , a communication I/F 205 , an input device 206 , a display device 207 , and a storage device 208 , and the hardware is interconnected through a bus.
  • CPU central processing unit
  • RAM random access memory
  • ROM read only memory
  • the CPU 201 is a device that executes a program controlling the operation of the information processing apparatus 110 .
  • the RAM 202 is a volatile storage device used for providing an execution space of a program executed by the information processing apparatus 110 and is used for storing or expanding the program or data.
  • the ROM 203 is a nonvolatile storage device used for storing a program such as firmware executed by the information processing apparatus 110 .
  • the external I/F 204 is an interface used for connecting an external storage medium or the like such as a flash memory to the information processing apparatus 110 .
  • the communication I/F 205 is an interface used for connecting the information processing apparatus 110 and a network in a wired manner or a wireless manner. In addition, the communication I/F 205 is also used when a print job is transmitted to the printer 120 .
  • the input device 206 is a device that receives an operation input by a user and, for example, a keyboard, a mouse, or the like.
  • the display device 207 is a device used for displaying information for a user and, for example, is a liquid crystal display or the like.
  • the storage device 208 is a storage medium from/to which information can be read or written and can store an OS operating the information processing apparatus 110 , a printer driver, various applications, and the like.
  • FIG. 3 is a software block diagram of the information processing apparatus 110 according to an embodiment of the present invention.
  • a printer driver 350 will be described to include the functional units.
  • the information processing apparatus 110 includes an application, a communicator 330 , a storage 340 , and the printer driver 350 .
  • applications there are two types including a store application 310 and a desktop application 320 .
  • the store application 310 is an application provided by a Windows store among applications and, for example, is an application displayed in an UI called a metro style in Windows 8.
  • the metro style is an easy-to-understand design having a subway (metro) and a sign as its motives and is in the form corresponding to a touch operation.
  • the store application 310 can generate a file that is a print target.
  • the store application 310 is configured to be a sandbox by the OS for the improvement of security and stability. In other words, the store application 310 can operate a program only within a protected area.
  • the desktop application 320 is an application other than the store application 310 among applications and that can operate a program also outside a protected area.
  • the desktop application 320 similar to the store application 310 , can generate a file that is a print target. Examples of the desktop application 320 include document creating software such as Microsoft Word (registered trademark), spreadsheet software such as Microsoft Excel (registered trademark), and the like.
  • the communicator 330 is a unit that performs transmission/reception of information between the information processing apparatus 110 and the printer 120 through the communication I/F 205 such as acquisition of model identification information or transmission of a print job.
  • the model identification information is information used for specifying the model of the printer 120 that is the current connection destination.
  • the model identification information there is a model name, and the model name will be described as an example of the model identification information in description presented below.
  • the storage 340 is a unit that stores various kinds of information such as model information, language information, and setting information.
  • the model information is information representing the capability included in each model such as functions, and a plurality of pieces of model information are stored in the storage 340 for each model.
  • various storage areas according to access rights are present, and the access right for each storage area is different for each module. Details of the storage areas included in the storage 340 will be described later.
  • the printer driver 350 is a driver used for controlling the printer 120 and is a unit that generates print image data or displays a screen of print settings.
  • the printer driver 350 includes a desktop display 360 , a store display 370 , a prohibition rule processor 380 , and a drawer 390 as the modules (functional units) described above.
  • the desktop display 360 is a module that corresponds to the printer extension illustrated in FIG. 9B .
  • the desktop display 360 accepts a request for printing from application software other than the store application 310 , in other words, the desktop application 320 , displays a screen used for performing print settings, and generates print setting information.
  • the screen is a print setting screen for receiving print setting information, an option screen used for setting and checking options of the printer, and the like.
  • the printer extension displays a vendor-specific print setting screen in a desktop UI of the V4 printer driver.
  • the desktop display 360 includes various functional units including a screen display 361 , a device information acquirer 362 , a print setter 363 , a storage controller 364 , and a connection destination information generator 365 and stores the model name in an area that can be accessed from the other modules, at least the store display 370 and the prohibition rule processor 380 by using such functional units.
  • the desktop display 360 of the V4 printer driver is described in a high-level language, and accordingly, there is no restriction on a process to be executed, and there is no limit on an area that can be accessed.
  • the screen display 361 is a unit that displays a screen according to the model of the printer 120 and displays a screen used for the desktop application 320 .
  • the screen display 361 can control a display screen such that a set value that can be set is input based on connection destination information to be described later.
  • the device information acquirer 362 is a unit that acquires various kinds of information of the model name of a device that is currently connected and the states (option information relating to options attached to the device, the size of a sheet inserted into each tray, and the like) of the device through two-way communication with the printer 120 .
  • the model name and the like that have been acquired are stored in an area that can be accessed by any module of the storage 340 .
  • the store display 370 can acquire the model name and the like, collect necessary information from the model name and the like that have been acquired, and configure a model common driver.
  • the print setter 363 is a unit that generates print setting information (print ticket) based on various kinds of setting information input by a user.
  • the print setter 363 can perform print settings corresponding to the capability of the model of the printer 120 that is currently connected based on the print capability information (print capability).
  • the print setting information is information that represents a current print setting value in each setting item set for printing.
  • the setting items for example, are items such as a sheet size and a print orientation
  • the print setting value is information representing the sheet size to be A4 and the print orientation to be vertical (portrait).
  • the print capability information represents a list of setting items that can be set and is information representing usable functions used for display of options and the like.
  • the print capability information for example, is information of an option representing a size A4 or a size B5 in a case where the printer 120 can perform printing for the sizes A4 and B5.
  • the storage controller 364 is a unit that controls writing of the acquired model name, the generated connection destination information, mapping information (for example, a mapping table) specified from the model name, encryption information, and the like into an area of the storage 340 from which the store display 370 and the prohibition rule processor 380 can read (can access) information. Details of the mapping table will be described later.
  • An example of the area from which the store display 370 and the prohibition rule processor 380 can read information includes a queue property bag.
  • the connection destination information generator 365 is a unit that generates connection destination information.
  • the connection destination information is model information of a model of a printer 120 that is currently connected and is generated in a format that can be read by the store display 370 and the prohibition rule processor 380 .
  • the connection destination information may be the model information described above or simplified version model information in which extra information is omitted.
  • the connection destination information generator 365 may generate information relating to a connection destination such as mapping information and encryption information in addition to the connection destination information.
  • the model information includes functions included for each model, options that can be mounted, a setting file in which a relation between functions or a function and an option is defined, and a language file.
  • This setting file is defined in a format such as an extensible markup language (XML) or a JavaScript object notation (JSON).
  • JSON JavaScript object notation
  • the language file is similarly defined.
  • icons displayed on a print setting screen or a device setting screen are defined in a format such as a BMP or portable network graphics (PNG).
  • the simplified version model information is acquired by removing extra information from the model information defined in the format of the XML or the JSON and performing a conversion into a simple format that can be processed by the prohibition rule processor 380 .
  • the simplified version model information is simple connection destination information, which is generated only from information used for displaying the print setting screen by the store display 370 , having a decreased information amount.
  • connection destination information is stored in an area of the storage 340 from which the store display 370 and the prohibition rule processor 380 can read information.
  • the connection destination information is configured as simplified version model information, the amount of information to be stored is small, and, when a conversion into a format that can be easily accessed from the store display 370 or the prohibition rule processor 380 is performed, the connection destination information can be easily converted, which is desirable.
  • the store display 370 is also called a store device application, corresponds to the store device application illustrated in FIG. 9B , and is downloaded from a Windows store as one application.
  • the store display 370 accepts a print request from the store application 310 , displays a screen used for performing print settings, and generates print setting information.
  • the process of displaying the screen and the generation of the print setting information are similar to the process and the generation of the desktop display 360 .
  • the store display 370 includes various functional units of a screen display 371 and a print setter 372 .
  • the store display 370 depends on the limit of the Windows store applications and thus, can access only a property bag such as the queue property bag described above but cannot access an external resource.
  • the Windows store application is configured as a sand box by the OS and is guarded by the OS side. Accordingly, the store display 370 , in a process of accessing a component other than the sand box, cannot use a file access application programming interface (API) that is necessary for the printer driver, a network communication API, and the like. For this reason, the store display 370 cannot acquire the model name of a printer that is currently connected through two-way communication and the like.
  • API application programming interface
  • the screen display 371 is a unit that displays a screen according to the model of the printer 120 and displays a UI corresponding to a metro style used for a store application.
  • the print setter 372 is a unit that generates print setting information (print ticket) based on various kinds of setting information input by a user.
  • the prohibition rule processor 380 corresponds to the prohibition rule script illustrated in FIG. 9B and is a unit that performs a process relating to print settings without accompanying the display of a screen.
  • the process relating to print settings for example, in a case where a print setting is accepted by an application, is a process of returning print capability information in response to a request from the application or determining the consistency, the validity, or the like representing whether print setting information generated by the application is a settable value.
  • the prohibition rule process there is a process in which, in a case where stapling is selected in a finishing function of the printer 120 , punching cannot be performed.
  • a process of which the compatibility is difficult to consider can be excluded, and an appropriate print setting can be performed.
  • the prohibition rule processor 380 various restrictions are present, and, similar to the store display 370 , only an access to the property bag can be made, but an access to an external resource cannot be made. The reason for this is that a file access API and a network communication API are guarded on the OS side.
  • the mounting language of the prohibition rule processor 380 is only a script (for example, JavaScript) having a limited use, only a simple process is performed, but a complicated process as in a high-level language cannot be performed.
  • a script is arranged in the system as it is at the time of installing the printer driver 350 , there are cases where the processing content is read from the outside. As the processing content, for example, there is association (mapping) between a function and print setting information or print capability information. Thus, by hiding this mapping or the like, the security can be improved. A method for improving the security of the prohibition rule processor 380 will be described later.
  • the drawer 390 corresponds to the graphics filter illustrated in FIG. 9B and is a unit that generates drawing data of a format that can be interpreted by the printer 120 based on the print settings and outputs the generated drawing data to the printer 120 as a print job.
  • the drawing data for example, is output in a data format such as a PDL.
  • the drawer 390 Similar to the desktop display 360 , the drawer 390 has no restriction on the process to be executed and has no limit on an area to be accessed.
  • FIGS. 4A and 4B are diagrams that illustrate areas that can be accessed by a V4 printer driver and each module configuring the V4 printer driver.
  • FIG. 4A illustrates areas that can be accessed by the V4 printer driver
  • FIG. 4B illustrates areas that can be accessed by the modules of the V4 printer driver.
  • the V4 printer driver can access various storage areas included in the storage 340 .
  • a driver property bag 340 a a queue property bag 340 b , a user property bag 340 c , and a specific area 340 d are included as storage areas.
  • the driver property bag 340 a , the queue property bag 340 b , and the user property bag 340 c are storage areas defined by the OS in advance as storage areas in which the V4 printer driver maintains data.
  • the driver property bag 340 a is an only-readable area, and a configuration file of each printer driver is stored.
  • the configuration file is information used for building model information and, examples of the configuration file include model common information, model specific information, and language information.
  • the information included in the configuration file is determined until when the printer driver 350 is packaged.
  • a printer driver package may include control files used for performing installation or uninstallation and the like in addition to files that are necessary for realizing the functions of the printer driver 350 .
  • the model common information and the model specific information are setting items, prohibition rule information relating to setting items that cannot be simultaneously set, display of a print setting screen, information used for generating print setting information, and the like.
  • the model common information is information not depending on the model of the printer 120
  • the model specific information is information depending on the model of the printer 120 .
  • the setting items include an aggregation setting, option information, and a finishing function.
  • the information relating to the aggregation setting is included in the model common information, and the option information and the information relating to the finishing function are included in the model specific information.
  • the language information is acquired by storing a display name of a setting item for each language, and, for example, as a finishing function performing stapling, Japanese “stapling” and English “stapling” are associated with each other to be stored.
  • the queue property bag 340 b is a readable and writable area. For the queue property bag 340 b , while reading from each module can be performed, writing depends on the right of a supervisor or the like.
  • the desktop display 360 can store information for each printer icon in the queue property bag 340 b and generates and maintains the information of a model of the printer 120 that is currently connected. As the printer icon, two or more icons may be generated for the same printer 120 . For this reason, the desktop display 360 can generate different information for each of two or more icons of the same printer.
  • a model name and option information acquired by the desktop display 360 for example, through two-way communication, model switching according to a user's operation, or the like are stored.
  • the information to be stored is converted into a format that can be processed by the store display 370 and the prohibition rule processor 380 and stored by the desktop display 360 .
  • the store display 370 and the prohibition rule processor 380 can access the queue property bag 340 b , and accordingly, the model specific information of the model that is currently connected can be specified based on the stored model name. For this reason, by combining the model common information and the specified model specific information, a model common printer driver can be configured.
  • connection destination information generated by the connection destination information generator 365 can be stored. It is preferable that this connection destination information is in a format that can be processed using a script language so as to be executed by the prohibition rule processor 380 .
  • the reason for this is that the efficiency is low in a case where the combining process described above is performed whenever each module performs the process, and there is no limit on the process in the desktop display 360 , compared to the prohibition rule script, and accordingly, the desktop display 360 can efficiently perform the process more than the other modules. Accordingly, as the desktop display 360 converts information in the format that can be processed by the prohibition rule processor 380 and the store display 370 and stores the converted information, an efficient process can be performed.
  • a model common driver can be configured.
  • the user property bag 340 c is an area in which information is stored for each printer icon or each user and is a readable and writable area, but information of other users cannot be accessed.
  • the user property bag 340 c is not limited to the storing of information for each printer icon or each user but may store information for each printer icon and each user. In this way, also in a case where the same printer is used, a usable function can be changed for each user.
  • a print setting having a high use frequency may be stored as a “favorite”.
  • the specific area 340 d is an area in which a file, registry information, and the like are stored in an area in which information can be stored in a vendor-specific format by the desktop display 360 .
  • FIG. 4B illustrates the modules of the V4 printer driver in detail and illustrates areas that can be accessed by each module of the prohibition rule processor 380 , the store display 370 , the desktop display 360 , and the drawer 390 .
  • the driver property bag 340 a , the queue property bag 340 b , and the user property bag 340 c can be accessed from each module.
  • modules that can access the specific area 340 d are limited to the desktop display 360 and the drawer 390 . This is according to restrictions of the architecture configuration of the V4 printer driver illustrated in FIGS. 9A and 9B . Accordingly, it can be prevented that the store display 370 and the prohibition rule processor 380 change a registry and the like used by the OS to have an adverse effect on the operation of the OS.
  • the store display 370 and the prohibition rule processor 380 can access the property bag, and an access to an external file is limited.
  • the prohibition rule processor 380 can execute prohibition rule processing.
  • the installation of the printer driver 350 will be described with reference to FIG. 10 .
  • the installation of the printer driver 350 may be performed using a function called a wizard.
  • a wizard called an add printer wizard may be used.
  • the installation may be performed using an installer other than the wizard.
  • an example in which installation is performed using an installer will be described.
  • the process of installing the printer driver 350 is performed using an installer 400 , an OS 410 , a prohibition rule processor 380 of an installed printer driver 350 .
  • the installer 400 installs the printer driver 350 (S 1 illustrated in FIG. 10 ).
  • the printer driver 350 S 1 illustrated in FIG. 10
  • an installation destination is selected, files that are necessary for realizing the function of the printer driver 350 are copied to the selected installation destination, and various settings are performed. Accordingly, the printer driver 350 can operate on the OS 410 , the functional units described above are generated, and the processes using the functional units can be performed.
  • the installer 400 generates a printer icon of a printer 120 that corresponds to the installed printer driver 350 (S 2 illustrated in FIG. 10 ). According to the generation of the printer icon, a user can select the printer 120 and execute a print job using the selected printer 120 .
  • the installer 400 reads customize information stored in the queue property bag 340 b in advance (S 3 illustrated in FIG. 10 ).
  • the customize information is a value after change in a case where an initial value (default value) set for each function is changed or a value after an increase or decrease in a case where the number of options that can be set is increased or decreased, in other words information of a changed value or the like.
  • the customize information may be information of only monochrome printing for allowing a printer that can perform color printing and monochrome printing to use only the monochrome printing.
  • the installer 400 performs a setting change of the default value (S 4 illustrated in FIG. 10 ). On the other hand, in a case where the customize information is not registered, the installer 400 ends the installation process.
  • the OS 410 receives the setting change and requests the prohibition rule processor 380 to check (setting check) whether the changed value is valid (S 5 illustrated in FIG. 10 ).
  • the model is not specified, and thus, the prohibition rule processor 380 checks whether or not the changed value is valid by referring to model common information stored in the driver property bag 340 a .
  • a notification indicating invalidness may be returned.
  • the OS 410 transmits a notification indicating invalidness to the installer 400 , and the installer 400 receives the notification and can end the installation process without making a change to the changed value.
  • the OS 410 returns a notification indicating validness from the prohibition rule processor 380 to the installer 400 .
  • the installer 400 changes the default value to the changed value.
  • the installer 400 performs the change to the changed value by changing registry information (S 6 illustrated in FIG. 10 ).
  • the registry information is various kinds of setting information used by the OS 410 and includes the default value, the information of options, and the like.
  • model common information may be stored in the driver property bag 340 a in advance.
  • the process of acquiring a model name and the like may be included in the installation process.
  • a model common printer driver can be configured without acquisition of a model name and the like, and a function unique to the model can be used as well.
  • the installation process including the process of acquiring a model name and the like will be described with reference to FIGS. 11A and 11B .
  • the process illustrated in FIGS. 11A and 11B similar to the process illustrated in FIG. 10 , uses the installer 400 , the OS 410 , and the prohibition rule processor 380 and is performed by using the device information acquirer 362 , the storage controller 364 , and the connection destination information generator 365 included in the desktop display 360 and a printer 120 .
  • the process of S 1 to S 3 illustrated in FIG. 11A is similar to the process of S 1 to S 3 illustrated in FIG. 10
  • the process of S 11 to S 13 illustrated in FIG. 11B is similar to the process of S 4 to S 6 illustrated in FIG. 10 , and thus, the same description will not be presented. Since there are cases where information set to the customize information cannot be applied depending on a model, it is necessary to correct the customize information based on the model information and then apply the corrected customize information. For example, even when the color is set as a default value in the customize information, in the case of a monochrome model, the color cannot be set as the default value, it is necessary to correct the default value to the monochrome and the like first.
  • the installer 400 requests the device information acquirer 362 to acquire a model name and a state of the model of a printer 120 that is currently connected (S 4 illustrated in FIG. 11A ).
  • the installer 400 may request for the acquisition of only a model name.
  • the device information acquirer 362 performs two-way communication with the printer 120 and acquires the model name from the printer 120 (S 5 illustrated in FIG. 11A ). In addition, the device information acquirer 362 acquires the state of the model (model state) from the printer 120 (S 6 illustrated in FIG. 11A ). In this example, while a model name is acquired first, and thereafter, a model state is acquired, the acquisition order may be reversed, or a model name and a model state may be simultaneously acquired.
  • the device information acquirer 362 requests the connection destination information generator 365 to generate connection destination information (S 7 illustrated in FIG. 11B ).
  • the connection destination information generator 365 generates connection destination information based on the model name acquired by the device information acquirer 362 (S 8 illustrated in FIG. 11B ).
  • the device information acquirer 362 requests the storage controller 364 to store the model name, the model information, and the connection destination information (S 9 illustrated in FIG. 11B ).
  • the storage controller 364 stores the model name, the model state, and the connection destination information acquired by the device information acquirer 362 in the queue property bag 340 b (S 10 illustrated in FIG. 11B ).
  • the device information acquirer 362 notifies the installer 400 of the acquisition of the model name and the model state.
  • the installer 400 performs a change of the default setting and a change of the registry information by referring to the model name and the like that are stored.
  • the installer 400 is software and is an application other than the store application 310 . For this reason, the installer 400 can communicate with the outside without having a limit such as a limit of the store application 310 . Accordingly, the installer 400 may acquire a model name and the like from the printer 120 by directly performing two-way communication with the printer 120 not through the desktop display 360 as illustrated in FIG. 11A .
  • FIGS. 5A and 5B are diagrams that illustrate an overview of a process of outputting a print job from the printer driver.
  • FIG. 5A illustrates the case of a V3 printer driver
  • FIG. 5B illustrates the case of a V4 printer driver.
  • a print setting set by a printer UI is stored in a DEVMODE structure body and is transmitted to an application.
  • the DEVMODE structure body is configured by a vender-common public part and a vender-specific private part and stores information set in the print setting. Thereafter, a graphics device interface (GDI) including the DEVMODE structure body is transmitted from the application to a spooler.
  • GDI graphics device interface
  • the spooler outputs a device driver interface (DDI) to a renderer.
  • the renderer converts data into a data format for performing print such as a PDL based on a command of the DDI and performs printing by outputting a print command to a printer.
  • a printer extension that is an extended UI of the desktop application 320 or a device companion application (DCA) that is an extended UI of the store application 310 and a printer UI exchange print setting information (print ticket) or print capability information (print capability), whereby a change of the setting item or the like is provided for a user.
  • DCA device companion application
  • Each of the printer extension and the DCA enables provision of a vendor-specific print setting screen for a user, and, in a case where the support of the change of the setting item or the like is not specified in a manifest file of a driver package, an OS-standard print setting screen is provided by the printer UI.
  • OS-standard print setting screens there are two print setting screens including a desktop screen and a store screen.
  • a vendor-specific print setting item such as authentication printing is not displayed.
  • prohibition rule processing relating to the print setting information or the print capability information is performed without accompanying the display of a screen, in other words, not in accordance with a user operation.
  • prohibition rule processing relating to the print setting information or the print capability information is performed without accompanying the display of a screen, in other words, not in accordance with a user operation.
  • the V3 printer driver as illustrated in FIG. 5A while there is a module performing prohibition rule processing, there is a restriction of mounting using JavaScript in the V4 printer driver.
  • an application receives the print setting information from a printer UI and transmits data in an XML paper specification (XPS) format to a spooler.
  • the data in the XPS format includes print setting information.
  • a renderer transmits/receives data to/from an XPS filter and outputs a print command to the printer, thereby performing printing.
  • FIGS. 12A and 12B A process performed when the printer driver described above outputs a print job will be described in detail with reference to FIGS. 12A and 12B .
  • the process illustrated in FIGS. 12A and 12B is performed using one application 420 out of the store application 310 and the desktop application 320 , the OS 410 , the prohibition rule processor 380 , one of the desktop display 360 and the store display 370 , and the drawer 390 .
  • the device information acquirer 362 , the storage controller 364 , and the connection destination information generator 365 included in the desktop display 360 are described to be used.
  • a user generates data for printing by using one application 420 out of the store application 310 and the desktop application 320 and requests the application 420 to print the data.
  • the user may read data that has already been generated, display the data by using the application 420 , and request the printing of the data.
  • the data that has been generated may be data inside the information processing apparatus or data acquired by being downloaded from another apparatus connected to the network.
  • the data may be data of a document, a table, or a diagram or image data.
  • the application 420 checks the print setting that is currently set without accompanying the display of the screen (S 1 illustrated in FIG. 12A ). For example, in the application 420 , a printer 120 to be used, the size of a sheet to be used, and the like are set.
  • the OS 410 requests the prohibition rule processor 380 to check (setting check) whether or not the set value of the print setting is valid (S 2 illustrated in FIG. 12A ).
  • the prohibition rule processor 380 performs the checking of the set value and returns a result of the checking to the OS 410 .
  • the OS 410 returns the result to the application 420 .
  • the application 420 can display information of a printer 120 , a sheet size, and the like that are set, a button used for switching to a user setting screen, a print button used for the execution of printing, and the like based on the received result. In this display, the user can select another printer 120 or change the sheet size or the like.
  • the user determines the printer 120 and presses the above-described button used for switching to the user setting screen to perform a detailed print setting.
  • the application 420 receives the pressing of this button and requests the OS 410 to display a print setting (S 3 illustrated in FIG. 12A ).
  • the OS 410 requests the prohibition rule processor 380 to perform setting checking (S 4 illustrated in FIG. 12A ).
  • the prohibition rule processor 380 performs setting checking and returns a result of the checking to the OS 410 .
  • the OS 410 receives that a result of the checking is valid and the print setting is determined and instructs the desktop display 360 to operate a user setting screen that is based on the determined print setting (S 5 illustrated in FIG. 12A ).
  • the OS 410 may perform changing of a setting item of the invalid print setting to a default setting, deleting of the invalid print setting, or the like and give an instruction for operating the user setting screen.
  • the user can change a print setting.
  • the desktop display 360 notifies the application 420 that the user's checking or changing of the print setting ends, and the user setting screen is closed through the OS 410 .
  • the OS 410 requests the device information acquirer 362 included in the desktop display 360 to acquire a model name and model information similar to S 4 illustrated in FIG. 11A (S 6 illustrated in FIG. 12A ). Inside the desktop display 360 , processes similar to S 5 to S 10 illustrated in FIGS. 11A and 11B are performed in S 7 to S 12 illustrated in FIGS. 12A and 12B . In other words, a model name and a model state are requested to be acquired from the printer 120 , connection destination information is generated, and the model name and the model state that have been acquired and the generated connection destination information are stored.
  • the application 420 receives user's pressing of a print button and instructs the OS 410 to execute printing (S 13 illustrated in FIG. 12B ).
  • the OS 410 receives the instruction and directs the drawer 390 to execute printing (S 14 illustrated in FIG. 12B ).
  • the drawer 390 generates drawing data in a format that can be interpreted by the printer 120 based on the print setting and outputs the generated drawing data to the printer 120 set as a print job (S 15 illustrated in FIG. 12B ).
  • the setting checking performed in S 2 and S 4 illustrated in FIG. 12A may be performed only for the print setting information or may be performed for both the print setting information and the print capability information.
  • the print setting information and the print capability information are in the form of giving a notification to various applications. Since the setting checking described above or the operating of the user setting screen are executed by functional units included in the printer driver 350 , hereinafter, the process executed by the printer driver 350 will be described in detail.
  • FIG. 6 is a diagram that illustrates the flow of data of the V4 printer driver that corresponds to the configuration of the printer driver 350 according to the first embodiment.
  • the desktop display 360 is a module corresponding to the printer extension illustrated in FIG. 9B and can perform two-way communication with the printer 120 owing to no restriction on the process to be executed in the V4 printer driver. Thus, first, by performing two-way communication, the desktop display 360 acquires a model name of the model that is currently connected and stores the acquired model name in the queue property bag 340 b . The desktop display 360 may acquire a model name by allowing the user to input or designate the model name.
  • the desktop display 360 can acquire a model name at at least a plurality of timings at which the desktop display 360 is called.
  • one of the timings is when a user opens a device setting screen used for performing various settings for a device such as the printer 120 , and switches a model to be used on the device setting screen.
  • Another example of the timing is when the print setting screen at the time of printing is called ( FIGS. 12A and 12B ). The process of switching of a model to be used on the device setting screen described above will be described with reference to FIG. 13 .
  • a vender In a standard device property sheet used in the option setting, a vender cannot be extended by the V4 printer driver. The reason for this is that a specification in which the specification of the architecture of the V4 printer driver cannot be extended is formed. Thus, a device setting screen is displayed by another unit, and a function extended according to the device setting screen, for example, the acquisition of a model name described above is realized.
  • the user by using an explorer 440 that is an application for reading and searching information, opens a menu by right-side clicking on a displayed printer icon and calls a device extension from the menu, thereby calling the desktop display 360 .
  • This method is merely an example, and the method is not limited to the example.
  • the explorer 440 instructs the desktop display 360 to call and display a device setting screen (S 1 illustrated in FIG. 13 ).
  • the desktop display 360 receives the instruction and displays the device setting screen (S 2 illustrated in FIG. 13 ). Then, the desktop display 360 acquires a model name by performing two-way communication with the printer 120 that is currently connected (S 3 illustrated in FIG. 13 ). In addition, the desktop display 360 also acquires a model state (S 4 illustrated in FIG. 13 ).
  • the configuration in which the model of the printer 120 that is currently connected is automatically acquired has been illustrated as an example, the configuration is not limited to the example, but a user may manually set a used model.
  • the order of acquisition of a model name and a model state may be reversed, or a model name and a model state may be simultaneously acquired.
  • the desktop display 360 similar to S 7 and S 8 illustrated in FIG. 11B , generates connection destination information by using the connection destination information generator 365 (S 5 illustrated in FIG. 13 ).
  • the desktop display 360 can accept a user's setting change.
  • the user can change the setting by ignoring the current setting and putting a check mark in a check box of a displayed setting item or the like.
  • the desktop display 360 stores a model name and model state that have been acquired, a change value in the case of a setting change, connection destination information, and the like in the queue property bag 340 b (S 6 illustrated in FIG. 13 ).
  • the desktop display 360 notifies the explorer 440 that such storage ends, and the device setting screen is closed.
  • the desktop display 360 refers to the driver property bag 340 a based on the model name stored in the queue property bag 340 b and generates connection destination information corresponding to the script language.
  • the connection destination information includes an icon used for displaying a capability of the model, language information, and the like in addition to functions and an option of the model.
  • the option is the state of the model that is currently connected and is acquired through two-way communication between the desktop display 360 and the printer 120 .
  • the option information included in the connection destination information in a case where an automatic document feeder (ADF) is added to extend the function of the model, information indicating being equipped with the ADF is an example of the option information.
  • ADF automatic document feeder
  • connection destination information generated in the queue property bag 340 b by the desktop display 360 is processed by the store display 370 and the prohibition rule processor 380 , and thus, a data format of a text format such as a Json format or an Ini format that can be easily processed by such functional units or a serialized binary format, or the like is preferable.
  • connection destination information that is also in consideration of the state of the printer 120 can be stored. Accordingly, the connection information does not need to be generated before installation and be included in a package of a printer driver, and thus, the volume of the package can be decreased.
  • the desktop display 360 may store a mapping table in the queue property bag 340 b .
  • the mapping table is a table that represents a correspondence relation between a string that is used for an internal process of the printer driver 350 of the prohibition rule processor 380 or the like as a string representing a function and a string used for the print setting information or the print capability information.
  • the mapping table is drawn from mapping data of the driver property bag 340 a in accordance with the model name. According to such a mapping table, print setting information or print capability information in which the function for each model is included and stored can be determined.
  • this determining process there is a process of changing the assignment of an option of a function handled inside a driver to print setting information or print capability information for each model.
  • options that are internally handled as a tray 1 , a tray 2 , and a large-capacity tray in a model A and are internally handled as a tray 1 , a tray 2 , and a tray 3 in a model B can be described as a tray 1 , a tray 2 , and a tray 3 in both models in the print capability information.
  • mapping table similar to the connection destination information, is preferably in a data format that can be easily processed by the store display 370 and the prohibition rule processor 380 such as a text format or a serialized binary format.
  • the prohibition rule processor 380 is a module corresponding to a prohibition rule script illustrated in FIG. 9B and performs the processing of the print setting information and the print capability information.
  • the prohibition rule processor 380 determines whether a combination of print settings is valid. A combination that is determined to be invalid may be set as non-display.
  • the prohibition rule processor 380 in response to a request from the OS 410 , the application 420 , or the like, replies with print capability information representing information of functions that can be set in the printer driver 350 and replies with print setting information representing set values of various functions set in the printer driver 350 .
  • the print setting information may be stored in a devmode property bag not illustrated in FIGS. 4A and 4B .
  • the prohibition rule processor 380 performs encryption processing.
  • the prohibition rule processor 380 in accordance with the model name, can acquire a mapping table according to the model from the driver property bag 340 a and can perform the process using the mapping table.
  • a script is arranged in the OS 410 as it is, and accordingly, the prohibition rule processor 380 is in a state in which the process can be seen from the outside. For this reason, also in the case of encryption, the encryption method can be deciphered from the outside, and the level of the security of the encryption is lowered.
  • functions there are functions that use personal information (a user name, a password, or the like) that should not be leaked to the outside. Thus, it is preferable to provide security according to a method described below.
  • the desktop display 360 In a step in which the model is specified, the desktop display 360 generates information for encryption (encryption information) together with a mapping table and stores the encryption information in the queue property bag 340 b together with the mapping table. At this time, the encryption information is converted into a format such as a binarized format that is difficult to decipher from the outside by the desktop display 360 .
  • the encryption information includes an encryption system (encryption algorithm) such as a wired equivalent privacy (WEP), a temporal integrity protocol (TKIP) or an advanced encryption standard (AES) and information used for the encryption.
  • WEP wired equivalent privacy
  • TKIP temporal integrity protocol
  • AES advanced encryption standard
  • the encryption information is described in the connection destination information to be stored.
  • the prohibition rule processor 380 encrypts personal information by using the encryption information included in the connection destination information, inserts the encrypted personal information into a corresponding portion, thereby generating print setting information including the encrypted personal information. In this way, by maintaining the encryption information in a module such as the desktop display 360 that is difficult to decipher from the outside, the security can be improved.
  • the desktop display 360 can store an encryption logic matching the determined printer 120 in the mapping table.
  • the encryption system and the information used for encryption may be stored in not the desktop display 360 but the driver property bag 340 a for each model, and the encryption system to be used and the information used for encryption may be acquired and applied according to the selected model.
  • encryption information formed in a format that is difficult to decipher from the outside may be stored in each model specific information, and the desktop display 360 may acquire the encryption information for each model from the model information and write the acquired encryption information in the connection destination information.
  • the prohibition rule processor 380 may be configured to acquire the content of the prohibition rule processing from the driver property bag 340 a in accordance with the model of the connection destination without describing the processes of all the models.
  • the update can be performed by only adding model information without changing the module.
  • FIG. 7 is a flowchart of a process executed by the desktop display 360 according to the first embodiment, and the process is performed at a scene specifying the model information.
  • FIGS. 8A to 8C are flowcharts that illustrate processes executed by modules based on model information and are scenes at which the processes are performed based on the model information stored in the process illustrated in FIG. 7 .
  • the process illustrated in FIG. 7 is started at a time when the desktop display 360 is called from the installer 400 , the explorer 440 , or the like, at a time when the print setting screen performing a print setting is called so as to print a file, or the like.
  • Step S 1001 the model name of the printer 120 is acquired.
  • the model name may be acquired by the desktop display 360 through two-way communication with the printer 120 , or the model may be acquired by directly designating through a user operation.
  • This process is a process corresponding to S 5 illustrated in FIG. 11A , S 7 illustrated in FIG. 12A , and S 3 illustrated in FIG. 13 .
  • Step S 1002 the acquired model name is stored in the queue property bag 340 b .
  • This process is a process that corresponds to S 5 illustrated in FIG. 13 .
  • Step S 1003 based on the model name stored in Step S 1002 , connection destination information of a format in which a script process can be performed is built.
  • the connection destination information by referring to the model name acquired from the model information of a plurality of models maintained by the driver property bag 340 a , the model information corresponding to the model of the current connection destination is specified, and the connection destination information of the current connection destination is built.
  • This process is a process that corresponds to S 8 illustrated in FIG. 11B and S 10 illustrated in FIG. 12B .
  • connection destination information built in Step S 1003 is stored in the queue property bag 340 b in Step S 1004 .
  • This process is a process that corresponds to S 10 illustrated in FIG. 11B and S 12 illustrated in FIG. 12B .
  • the model name and the connection destination information may be stored together in a step in which the connection destination information is generated.
  • Step S 1004 is not essential but may be replaced by the process described below.
  • the prohibition rule processor 380 and the store display 370 specify the model information corresponding to the model name among the model information maintained in the driver property bag 340 a in accordance with the model name acquired from the queue property bag 340 b , whereby the connection destination information can be generated.
  • Step S 1005 the print setter 363 of the desktop display 360 acquires option information from the queue property bag 340 b .
  • Step S 1006 based on the model information, the option information, and the like, the UI of the acquired printer 120 is built and displayed, whereby the UI is provided for the user. Thereafter, the process ends.
  • the process of Steps S 1005 to S 1006 may be executed after S 2 illustrated in FIG. 12A or S 12 illustrated in FIG. 12B , before S 13 illustrated in FIG. 12B or after S 14 illustrated in FIG. 12B and before S 15 illustrated in FIG. 12B .
  • FIG. 8A is a flowchart in which the prohibition rule processor 380 outputs the print setting information. Also this process, similar to the description presented above, is a process that is executed after S 12 illustrated in FIG. 12B , before S 13 illustrated in FIG. 12B .
  • the prohibition rule processor 380 receives print setting information from the desktop application 320 in Step S 2001 .
  • Step S 2002 the connection destination information stored in the queue property bag 340 b is acquired.
  • Step S 2003 based on the acquired connection destination information, the validity of the model common information is evaluated.
  • the evaluation of the validity of the model common information is performed by checking whether or not the set value of the print setting information, which is common to printers, not depending on a model is a valid value.
  • the model common information for example, there is an aggregation setting or the like.
  • Step S 2004 based on the acquired connection destination information, the validity of the set value of the model specific information is evaluated.
  • the evaluation of the validity of Step S 2003 is performed by checking that the option information, the finishing function, and the like do not exceed the capabilities of the selected printer 120 for each print scheme (setting item).
  • Step S 2005 the print setting information is returned to the desktop application 320 , and the process ends.
  • the encryption information is deleted after the print setting information that is encrypted is generated.
  • FIG. 8B is a flowchart in which the prohibition rule processor 380 outputs the print capability information. This process may be performed as is necessary. This process, similar to the process described above, may be executed after S 2 illustrated in FIG. 12A or after S 12 illustrated in FIG. 12B , before S 13 illustrated in FIG. 12B or after S 14 illustrated in FIG. 12B , before S 15 illustrated in FIG. 12B .
  • the prohibition rule processor 380 in Step S 3001 illustrated in FIG. 8B , receives a print capability information building command from the desktop application 320 .
  • Step S 3002 the connection destination information stored in the queue property bag 340 b is acquired.
  • the process of Step S 3002 is similar to the process of Step S 2002 .
  • Step S 3003 capability information and language information are built.
  • the option of the set value is built for each print scheme.
  • language information language information of each set value is built based on the locale (the setting of a country or a region) of the OS or the desktop application 320 .
  • the language information of the set value for example, there is information of “stapling, upper right side” or the like.
  • Step S 3004 based on the option information of the current printer 120 that is stored in the queue property bag 340 b , the capability information built in Step S 3003 is corrected.
  • the correction of the capability information is addition or deletion of the option of the set value or the like.
  • Step S 3005 the print capability information is returned to the desktop application 320 , and the process ends.
  • the prohibition rule processor 380 can built the model common information and the model specific information corresponding to the printer 120 .
  • the process illustrated in FIGS. 8A and 8B may be performed individually in parallel with each other and continuously (sequentially) as is necessary.
  • Step S 4001 acquires the print setting information from the prohibition rule processor 380 .
  • Step S 4002 the store display 370 acquires a model name of the model that is currently connected by referring to the queue property bag 340 b .
  • This process is a process that corresponds to S 8 illustrated in FIG. 12A .
  • a difference from the process illustrated in FIG. 12A is that this process is performed in a case where a print request is made from the store application 310 .
  • Step S 4003 the store display 370 reads the connection destination information from the queue property bag 340 b .
  • Step S 4004 print capability information corresponding to the model that is currently connected is built, and the validity of the print setting information is evaluated.
  • Step S 4005 for the capabilities of the model that is currently connected, a UI on which the print setting information is reflected is built and displayed, whereby the UI is provided for the user, and the process ends.
  • the process of Steps S 4003 to S 4005 is a process that is executed after S 12 illustrated in FIG. 12B and before S 13 illustrated in FIG. 12B .
  • the store display 370 can generate a UI according to the model of the connection destination. Accordingly, by performing various processes illustrated in FIG. 6 , various model common printer drivers in the V4 printer driver can be configured.
  • FIGS. 14A and 14B Examples of the UI displayed according to the process illustrated in FIG. 8C are illustrated in FIGS. 14A and 14B .
  • FIG. 14A is a diagram that illustrates an example of the UI displayed by the store display 370 in the case of being connected to a color device capable of performing color printing.
  • FIG. 14B is a diagram that illustrates an example of the UI displayed by the store display 370 in a case where the model is switched to a monochrome device by the process illustrated in FIG. 13 .
  • a print setting item of color/monochrome denoted using a broken line is displayed, and any one of setting items can be selected.
  • the printing setting item of color/monochrome is not displayed.
  • FIG. 15 is a diagram that illustrates an example of a case where mapping information and encryption information are stored together with generation and storage of the connection destination information of S 1003 and S 1004 illustrated in FIG. 7 .
  • the simplified version model information described above is preferable, and here, a process of generating the simplified version model information will be described in accordance with a model.
  • This process is a process in which the desktop display 360 generates simplified version model information used when the store display 370 and the prohibition rule processor 380 perform the process.
  • the process illustrated in FIG. 15 can be performed in S 5 to S 10 illustrated in FIGS. 11A and 11B , S 7 to S 12 illustrated in FIGS. 12A and 12B , and S 3 to S 5 illustrated in FIG. 13 .
  • Step S 1501 the desktop display 360 acquires a model name of the printer 120 that is currently connected from the queue property bag 340 b .
  • Step S 1502 the desktop display 360 acquires corresponding model information from the driver property bag 340 a based on the acquired model name. Since the model information is defined in the format such as the XML, the JSON, or the like, in Step S 1503 , from an XML file defining a function and a JSON file defining a language, only information that is necessary for displaying a print setting screen is acquired in accordance with the option information, and simplified version model information is generated from the acquired necessary information. At this time, the simplified version model information is changed to a simple format that can be processed by the prohibition rule processor 380 . Then, in Step S 1504 , the desktop display 360 stores the generated simplified version model information in the queue property bag 340 b.
  • Step S 1505 the desktop display 360 acquires corresponding mapping data from the driver property bag 340 a based on the model name acquired in Step S 1501 .
  • the desktop display 360 reflects the acquired mapping data on the mapping table and stores the mapping table in the queue property bag 340 b in Step S 1506 .
  • the desktop display 360 generates encryption information in Step S 1507 and stores the generated encryption information in the queue property bag 340 b in Step S 1508 .
  • the process ends.
  • the process is not limited to the form, but the process of generating and storing encryption information may be executed first, and both processes may be executed simultaneously.
  • the process of performing encryption of the print setting information will be described with reference to FIG. 16 .
  • the print setting (function) to be encrypted is input to the printer driver 350 , at timing at which the prohibition rule processor 380 is called in S 2 illustrated in FIG. 13 and, after the drawer 390 is called in S 14 illustrated in FIG. 13 , the prohibition rule processor 380 is called from the drawer 390 through the OS 410 , and accordingly, this encryption process can be performed at the called timing or the like. In addition, this encryption process can be performed by the prohibition rule processor 380 .
  • Step S 1601 the prohibition rule processor 380 receives print setting information.
  • Step S 1602 the prohibition rule processor 380 reads simplified version model information stored in the queue property bag 340 b .
  • Step S 1603 the prohibition rule processor 380 reads a mapping table stored in the queue property bag 340 b .
  • the prohibition rule processor 380 may read the mapping table first and thereafter, read the simplified version model information.
  • Step S 1604 the prohibition rule processor 380 selects one function included in the simplified version model information. Then, in Step S 1605 , the prohibition rule processor 380 determines whether or not the selected function is an encryption function. Whether or not the selected function is an encryption function can be determined from the mapping table. The reason for this is that the mapping table corresponds to a function and represents whether or not the function is an encryption function and includes an encryption system to be used and print setting information in which the function is to be inserted in the case of the encryption.
  • the mapping data may include information of the strength of the encryption.
  • the process proceeds to Step S 1606 and, in the case of no encryption function, the process proceeds to Step S 1608 .
  • the desktop display 360 is aware of a storage place on the driver property bag 340 a of information used for encryption for each model and for each strength or a method of generating information used for the encryption described above.
  • the storage place or the generation method is maintained as a code, and this code cannot be deciphered from the outside.
  • the desktop display 360 after acquiring the model name, acquires information used for the encryption from the storage place or generates information used for the encryption using the generation method, and stores the information in a specific place of the queue property bag 340 b.
  • Step S 1606 the prohibition rule processor 380 acquires the information, which is stored in the specific place of the queue property bag 340 b , used for the encryption corresponding to the function and the strength.
  • the information may be information that is used for the encryption corresponding merely to the function.
  • Step S 1607 the prohibition rule processor 380 encrypts personal information and the like for which the function is used by using the acquired information used for the encryption and inserts and stores encrypted information in the print setting information or the like.
  • the prohibition rule processor 380 acquires information used for the encryption from the specific place of the queue property bag 340 b regardless of the model. For this reason, as the process of the prohibition rule processor 380 that can be deciphered from the outside, information for the encryption or the process for the encryption do not directly need to be described, and accordingly, the security can be improved. In addition, the prohibition rule processor 380 , after storing the information in Step S 1607 , deletes the information, which is stored in the specific place of the queue property bag 340 b , used for the encryption. Accordingly, a period in which the information used for the encryption is stored on the queue property bag 340 b is shortened, and the security can be further improved.
  • Step S 1608 the prohibition rule processor 380 determines whether all the functions have been selected. In a case where all the functions have not been selected, the process is returned to Step S 1604 , and a next function is selected. On the other hand, in a case where all the functions have been selected, the encryption process ends.
  • the customize information is read, and the registry information is changed.
  • the simplified version model information can be customized by applying the customize information determined at the time of the installation. The process of customizing the simplified version model information will be described with reference to FIG. 17 .
  • the customize information is information written into the registry and is used in a case where the initial value is changed, a case where the set value is limited, or the like.
  • the set value there is a case, in an aggregation setting, a setting enabling printing of one page, two pages, or four pages for one sheet is limited only to two pages.
  • Step S 1701 the desktop display 360 acquires a model name of the printer 120 that is currently connected.
  • Step S 1702 the desktop display 360 acquires corresponding model information from the driver property bag 340 a based on the acquired model name.
  • Step S 1703 the desktop display 360 acquired only necessary information in accordance with option information from an XML file defining the function and a JSON file defining a language and generates a simplified version model information from the acquired necessary information.
  • Step S 1704 the desktop display 360 determines whether or not the customize information is present in the registry. In a case where the customize information is present, the process proceeds to Step S 1705 , and, in a case where the customize information is not present, the process proceeds to Step S 1706 .
  • Step S 1705 the desktop display 360 applies the customize information for each function of the simplified version model information. More specifically, the initial value is changed, or the number of options is increased or decreased.
  • Step S 1706 the desktop display 360 stores the simplified version model information to which the customize information is applied or the simplified version model information to which nothing is applied and having no change in the queue property bag 340 b.
  • Step S 1707 the desktop display 360 acquires corresponding mapping data from the driver property bag 340 a based on the model name acquired in Step S 1701 .
  • the desktop display 360 reflects the acquired mapping data on the mapping table and stores the mapping table in the queue property bag 340 b in Step S 1708 . According to this storage, the process ends.
  • connection destination information to be stored in the queue property bag 340 b is a preferred example but is not essential.
  • an example of the process of a case where a desktop display 360 does not generate connection destination information to be stored in a queue property bag 340 b will be described.
  • FIG. 18 is a diagram that illustrates the flow of data of a V4 printer driver according to the second embodiment.
  • the desktop display 360 can perform two-way communication with a printer 120 .
  • the desktop display 360 acquires model identification information (a model name or the like) of the printer 120 that is currently connected by performing two-way communication with the printer 120 and stores the acquired model identification information in the queue property bag 340 b as connection destination information.
  • the desktop display 360 acquires a model state (option information; a tray in which a sheet of a certain size is inserted or the like) of the printer 120 that is currently connected and stores the acquired model state in the queue property bag 340 b.
  • a model state optional information; a tray in which a sheet of a certain size is inserted or the like
  • the desktop display 360 does not generate connection information.
  • a store display 370 and a prohibition rule processor 380 acquire model identification information stored in the queue property bag 340 b and acquire model information of a model specified by the model identification information from a driver property bag 340 a . Accordingly, the store display 370 and the prohibition rule processor 380 can acquire model information of the printer 120 that is currently connected from the driver property bag 340 a and execute a predetermined process.
  • the store display 370 and the prohibition rule processor 380 acquire model identification information stored in the queue property bag 340 b and acquire mapping data of a model specified by the model identification information.
  • the store display 370 and the prohibition rule processor 380 generate the mapping table of the printer 120 that is currently connected by using the acquired mapping data and can execute a predetermined process according to the generated mapping table.
  • the predetermined process executed by the store display 370 and the prohibition rule processor 380 is similar to the process of the first embodiment.
  • FIGS. 19A and 19B are sequence diagrams that illustrate an example of an installation process according to the second embodiment.
  • the process of Steps S 1 to S 6 is similar to the installation process (second example) according to the first embodiment illustrated in FIG. 11A , and here, difference from the first embodiment will be focused in the description.
  • a device information acquirer 362 after acquiring a model name and a model state from the printer 120 in Steps S 5 and S 6 illustrated in FIG. 19A , executes the process of Step S 7 illustrated in FIG. 19B without generating the connection destination information.
  • Step S 7 illustrated in FIG. 19B the device information acquirer 362 requests a storage controller 364 to store the model name and the model state that have been acquired.
  • Step S 8 illustrated in FIG. 19B the storage controller 364 stores the model name (model identification information) and the model state acquired by the device information acquirer 362 in the queue property bag 340 b .
  • the device information acquirer 362 notifies an installer 400 of the acquisition of the model name and the model state.
  • Step S 3 illustrated in FIG. 19A the installer 400 executes a default value changing process illustrated in Step S 9 and subsequent steps in FIG. 19B .
  • Step S 9 illustrated in FIG. 19B the installer 400 requests the OS 410 to perform a setting change of the default value.
  • Step S 10 illustrated in FIG. 19B the OS 410 receives a request for the setting change of the default value and requests the prohibition rule processor 380 to check (setting check) whether a change value of the customize information is a valid value.
  • the prohibition rule processor 380 acquires the model information specified by the model name acquired by the device information acquirer 362 from the driver property bag 340 a and checks whether or not the change value is valid by using the acquired model information. In a case where the change value is not valid, the prohibition rule processor 380 can return a notification indicating that the change value is not valid to the OS 410 . In this case, the OS 410 transmits a notification indicating that the change value is not valid to the installer 400 , and the installer 400 receives the notification and ends the installation process without changing the default value setting.
  • the OS 410 may request the prohibition rule processor 380 to perform prohibition rule processing (for example, change, deletion, or the like of a setting item, a set value, and the like that are not valid) solving a contradiction of the change values of the customize information.
  • the prohibition rule processor 380 solves a contradiction of the change values of the customize information, generates valid change values, and notifies the OS 410 of an indication of valid change values.
  • the OS 410 When the notification of the indication of valid change values of the customize information is received from the prohibition rule processor 380 , the OS 410 returns the notification to the installer 400 .
  • Step S 11 illustrated in FIG. 19B when the notification of the indication of valid change values of the customize information is received, the installer 400 reflects the change values of the customize information on the default values. For example, by changing the registry information, the installer 400 reflects the change values of the customize information on default values.
  • FIGS. 20A and 20B are sequence diagrams that illustrate an example of a printing process according to the second embodiment.
  • the process of Steps S 1 to S 5 is similar to the printing process according to the first embodiment illustrated in FIG. 12A , and here, differences from the first embodiment will be focused in the description.
  • Step S 6 illustrated in FIG. 20A the desktop display 360 requests the device information acquirer 362 to acquire a model name and a model state.
  • Step S 7 illustrated in FIG. 20A the device information acquirer 362 acquires a model name from the printer 120 by performing two-way communication with the printer 120 .
  • Step S 8 illustrated in FIG. 20A the device information acquirer 362 acquires a model state from the printer 120 .
  • the device information acquirer 362 executes the process of Step S 9 illustrated in FIG. 20B without generating the connection destination information.
  • Step S 9 illustrated in FIG. 20B the device information acquirer 362 requests the storage controller 364 to store the model name and the model state that have been acquired.
  • Step S 10 illustrated in FIG. 20B the storage controller 364 stores the model name (model identification information) and the model state acquired by the device information acquirer 362 in the queue property bag 340 b.
  • Step S 11 illustrated in FIG. 20B the desktop display 360 acquires model information specified by the model name acquired by the device information acquirer 362 from the driver property bag 340 a and displays a print setting screen by using the acquired model information. On the displayed print setting screen, the user can change the print settings.
  • the desktop display 360 notifies the application 420 of the end of the checking and changing of the print settings by the user and the closing of a user setting screen through the OS 410 .
  • Step S 12 illustrated in FIG. 20B the application 420 , for example, receives user's pressing of a print button and instructs the OS 410 to execute printing.
  • Step S 13 illustrated in FIG. 20B the OS 410 receives an instruction from the application 420 and directs the drawer 390 to execute printing.
  • Step S 14 illustrated in FIG. 20B the drawer 390 , based on the print setting, generates drawing data (print data that can be printed) of a format that can be interpreted by the printer 120 and outputs the generated drawing data to the set printer 120 as a print job.
  • FIG. 21 is a sequence diagram that illustrates an example of the process of changing a model according to the second embodiment.
  • the process of Steps S 1 to S 4 is similar to the process of changing a model according to the first embodiment illustrated in FIG. 13 , and here, points different from the first embodiment will be focused in the description.
  • the desktop display 360 after acquiring a model name and a model state in Steps S 3 and S 4 illustrated in FIG. 21 , accepts a user's setting change without generating the connection destination information.
  • Step S 5 illustrated in FIG. 21 the desktop display 360 stores the model name and the model state that have been acquired, a change value in the case of a setting change, and the like in the queue property bag 340 b .
  • the desktop display 360 notifies the explorer 440 of the end of the storage and the closing of the device setting screen.
  • the desktop display 360 does not generate the connection information.
  • FIG. 22A is a flowchart that illustrates an example of the process of outputting print setting information according to the second embodiment. This process illustrates an example of a process in which the prohibition rule processor 380 according to the second embodiment outputs print setting information and corresponds to the process of outputting print setting information according to the first embodiment illustrated in FIG. 8A .
  • the prohibition rule processor 380 receives print setting information from the desktop application 320 in Step S 2211 .
  • Step S 2212 the prohibition rule processor 380 acquires the model identification information (for example, the model name or the like) stored in the queue property bag 340 b.
  • the model identification information for example, the model name or the like
  • Step S 2213 the prohibition rule processor 380 acquires model information specified by the acquired model identification information from the driver property bag 340 a .
  • the prohibition rule processor 380 specifies the model of the printer 120 by using the acquired model identification information and acquires model information corresponding to the specified model from the driver property bag 340 a.
  • Step S 2214 the prohibition rule processor 380 evaluates the validity of the model common information based on the acquired model information.
  • the evaluation of the validity of the model common information is performed by checking whether the value of the print setting information, which is common to each printer, not depending on the model is a valid value.
  • prohibition rule processor 380 executes prohibition rule processing (for example, change, deletion, or the like of a setting item, a set value, and the like that are not valid) solving a contradiction of the print setting information, and a contradiction of the setting items, set values, and the like of the print setting information that is common to models is resolved.
  • prohibition rule processing for example, change, deletion, or the like of a setting item, a set value, and the like that are not valid
  • Step S 2215 the prohibition rule processor 380 evaluates the validity of set values of the model specific information based on the model information and the model state that have been acquired.
  • the evaluation of the validity of the set values of the model specific information is performed by checking that option information, a finishing function, and the like do not exceed the capability of the selected printer 120 for each setting item of the print setting information depending on the model of the printer 120 .
  • the prohibition rule processor 380 executes prohibition rule processing (for example, change, deletion, or the like of a setting item, a set value, and the like that are not valid) solving a contradiction of the print setting information, and a contradiction of setting items, set values, and the like of the print setting information depending on the model is resolved.
  • prohibition rule processing for example, change, deletion, or the like of a setting item, a set value, and the like that are not valid
  • Step S 2216 the prohibition rule processor 380 returns print setting information on which a result of the evaluation of the validity of the print setting information in Steps S 2214 and S 2215 is reflected to the desktop application 320 , and the process ends.
  • FIG. 22B illustrates a flowchart that illustrates an example of the process of outputting print capability information according to the second embodiment. This process illustrates an example of the process in which the prohibition rule processor 380 according to the second embodiment outputs print capability information and corresponds to the process of outputting print capability information according to the first embodiment illustrated in FIG. 8B .
  • the prohibition rule processor 380 receives a print capability information building command from the desktop application 320 .
  • Step S 2222 the prohibition rule processor 380 acquires model identification information (for example, a model name) stored in the queue property bag 340 b.
  • model identification information for example, a model name
  • Step S 2223 the prohibition rule processor 380 acquires model information specified by the acquired model identification information from the driver property bag 340 a .
  • the prohibition rule processor 380 specifies the model of the printer 120 by using the acquired model identification information and acquires model information corresponding to the specified model from the driver property bag 340 a.
  • Step S 2224 the prohibition rule processor 380 builds print capability information and language information.
  • options of set values are built for each setting item.
  • language information of each set value is built based on the locale (the setting of a country or a region) of the OS 410 or the desktop application 320 .
  • Step S 2225 the prohibition rule processor 380 corrects the print capability information built in Step S 2224 based on the option information included in the model state of the current printer 120 that is stored in the queue property bag 340 b .
  • the correction of the print capability information for example, includes addition, deletion, and the like of options of the set value.
  • Step S 2226 the prohibition rule processor 380 returns the print capability information corrected in Step S 2225 to the desktop application 320 , and the process ends.
  • FIG. 22C illustrates a flowchart that illustrates an example of a display process using the store display 370 according to the second embodiment. This process illustrates an example of a process in which the prohibition rule processor 380 according to the second embodiment displays the print setting screen and corresponds to the process in which the store display 370 according to the first embodiment illustrated in FIG. 8C builds a store UI.
  • the store display 370 in Step S 2231 , acquires print setting information from the prohibition rule processor 380 .
  • Step S 2232 the store display 370 acquires model identification information (for example, a model name) stored in the queue property bag 340 b.
  • model identification information for example, a model name
  • Step S 2233 the store display 370 acquires model information specified by the acquired model identification information from the driver property bag 340 a .
  • the store display 370 specifies a model of the printer 120 based on the acquired model identification information and acquires model information corresponding to the specified model from the driver property bag 340 a.
  • Step S 2234 the store display 370 generates print capability information corresponding to the model that is currently connected by using the prohibition rule processor 380 and evaluates the validity of the print setting information.
  • Step S 2235 the store display 370 builds and displays a UI on which the print setting information is reflected for the print capability information of the model that is currently connected, and the process ends.
  • Step S 2234 does not necessarily need to be performed.
  • the store display 370 in Step S 2235 , by using the model information corresponding to the model, which is currently connected, acquired in Step S 2233 , builds and displays a UI used for accepting a print setting.
  • the model state may be acquired from the queue property bag 340 b together with the model information, and, in Step S 2235 , a UI may be built by further using the model state.
  • the prohibition rule processor 380 and the store display 370 can acquire the model information of the printer 120 that is currently connected and execute a predetermined process.
  • a printer driver in the configuration of the V4 printer driver, a printer driver, an information processing apparatus, and an image processing apparatus configuring a model common printer driver can be provided.
  • Each function of the embodiment of the present invention described above can be realized by a program, which is described in C, C++, C#, Java (registered trademark), or the like, capable of executing an apparatus, and a program according to this embodiment can be distributed with being stored in an apparatus-readable recording medium such as a hard disk device, a compact disc read only memory (CD-ROM), a magneto-optical disc (MO), a digital versatile disc (DVD), a flexible disc, an electrically erasable programmable read-only memory (EEPROM), or an erasable programmable read only memory (EPROM) and can be transmitted through a network in a format that is compatible with other apparatuses.
  • an apparatus-readable recording medium such as a hard disk device, a compact disc read only memory (CD-ROM), a magneto-optical disc (MO), a digital versatile disc (DVD), a flexible disc, an electrically erasable programmable read-only memory (EEPROM), or an erasable programmable read only memory (
  • Processing circuitry includes a programmed processor, as a processor includes circuitry.
  • a processing circuit also includes devices such as an application specific integrated circuit (ASIC), digital signal processor (DSP), field programmable gate array (FPGA), and conventional circuit components arranged to perform the recited functions.
  • ASIC application specific integrated circuit
  • DSP digital signal processor
  • FPGA field programmable gate array

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)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
US15/697,404 2016-09-08 2017-09-06 Information processing apparatus, image processing system, and printer driver Expired - Fee Related US10275192B2 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2016175789 2016-09-08
JP2016-175789 2016-09-08
JP2016228771 2016-11-25
JP2016-228771 2016-11-25
JP2017139328A JP6834823B2 (ja) 2016-09-08 2017-07-18 プリンタドライバ、情報処理装置および画像処理システム
JP2017-139328 2017-07-18

Publications (2)

Publication Number Publication Date
US20180067704A1 US20180067704A1 (en) 2018-03-08
US10275192B2 true US10275192B2 (en) 2019-04-30

Family

ID=59811250

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/697,404 Expired - Fee Related US10275192B2 (en) 2016-09-08 2017-09-06 Information processing apparatus, image processing system, and printer driver

Country Status (3)

Country Link
US (1) US10275192B2 (zh)
EP (1) EP3293627A1 (zh)
CN (1) CN107807802B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6939342B2 (ja) 2017-09-28 2021-09-22 ブラザー工業株式会社 プリンタドライバおよび、情報処理装置
JP6881194B2 (ja) * 2017-09-28 2021-06-02 ブラザー工業株式会社 プリンタドライバおよび、情報処理装置
US10120626B1 (en) * 2017-12-14 2018-11-06 Kyocera Document Solutions Inc. Information processing apparatus, recording medium, and information processing method
JP7309348B2 (ja) * 2018-11-30 2023-07-18 キヤノン株式会社 プログラム及び制御方法
JP7342577B2 (ja) 2019-09-30 2023-09-12 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
JP7463117B2 (ja) * 2020-01-31 2024-04-08 キヤノン株式会社 情報処理装置およびプログラム
US11048455B1 (en) * 2020-03-04 2021-06-29 Canon Kabushiki. Kaisha Devices, systems, and methods for resolving conflicting print settings
CN111857612B (zh) * 2020-06-24 2022-07-12 厦门汉印电子技术有限公司 基于gdi的驱动功能模块配置方法、装置、设备及存储介质
JP7533169B2 (ja) * 2020-11-30 2024-08-14 ブラザー工業株式会社 セットアッププログラム、情報処理装置、およびシステム
JP2022089041A (ja) * 2020-12-03 2022-06-15 キヤノン株式会社 情報処理装置、およびアプリケーション
JP2022136579A (ja) * 2021-03-08 2022-09-21 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2024046140A (ja) * 2022-09-22 2024-04-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070216939A1 (en) * 2006-03-17 2007-09-20 Canon Kabushiki Kaisha Information processing apparatus and method thereof
US20100302589A1 (en) 2009-06-01 2010-12-02 Ricoh Company, Limited Computer program product, information processing apparatus, printer, and system
US20110058199A1 (en) 2009-09-08 2011-03-10 Ricoh Company, Ltd Printer driver, information processing apparatus, and program product storing printer driver therein
US20110188064A1 (en) * 2010-02-02 2011-08-04 Sharp Kabushiki Kaisha Printer control apparatus, printer control method, printing system, and storage medium
US20110286036A1 (en) 2010-05-18 2011-11-24 Hiroto Kobayashi Information processing apparatus, print control program, and recording medium
US20120140269A1 (en) 2010-12-01 2012-06-07 Hiroto Kobayashi Information processing device, information processing method, and recording medium
US20130044335A1 (en) 2011-08-17 2013-02-21 Ricoh Company, Ltd. Print control method, information processing apparatus, and recording medium
US20130094056A1 (en) 2011-10-13 2013-04-18 Hiroto Kobayashi Information processing apparatus, system
US20130250331A1 (en) 2012-03-21 2013-09-26 Ricoh Company, Ltd. Apparatus and computer-readable recording medium for processing data based on setting conditions
US20140063522A1 (en) 2012-08-29 2014-03-06 Ricoh Company, Ltd. Information processing apparatus, output system, information processing method, and recording medium storing information processing program
US20150169267A1 (en) 2013-12-16 2015-06-18 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and computer program
US20150254026A1 (en) 2014-03-10 2015-09-10 Hiroto Kobayashi Information delivery system, information processing apparatus, and information delivery method
EP2924557A1 (en) 2014-03-14 2015-09-30 Canon Kabushiki Kaisha Information processing apparatus and method of controlling the same
JP2015215653A (ja) 2014-05-08 2015-12-03 コニカミノルタ株式会社 プリンタドライバ及びプリンタドライバの禁則処理制御方法
JP2015225481A (ja) 2014-05-28 2015-12-14 キヤノン株式会社 印刷設定情報を効率良く編集するためのプログラム
US20160077777A1 (en) 2013-09-17 2016-03-17 Hiroto Kobayashi Information processing apparatus, information processing system and non-transitory computer-readable information recording medium
US20160085484A1 (en) * 2014-09-19 2016-03-24 Konica Minolta Inc. Non-transitory computer readable recording medium on which a ui program is recorded, print control apparatus and control method of the same
US20170078520A1 (en) 2015-09-10 2017-03-16 Hiroto Kobayashi Information distribution system, information processing device, and information distribution method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011243067A (ja) * 2010-05-19 2011-12-01 Brother Ind Ltd 印刷制御装置,印刷制御システム,およびプリンタドライバ
JP5979893B2 (ja) * 2012-02-01 2016-08-31 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
JP5924992B2 (ja) * 2012-03-09 2016-05-25 キヤノン株式会社 情報処理装置、情報処理方法とプログラム
CN103780786B (zh) * 2012-10-23 2018-08-03 爱思打印解决方案有限公司 用户终端设备及其控制方法

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070216939A1 (en) * 2006-03-17 2007-09-20 Canon Kabushiki Kaisha Information processing apparatus and method thereof
US20100302589A1 (en) 2009-06-01 2010-12-02 Ricoh Company, Limited Computer program product, information processing apparatus, printer, and system
US20110058199A1 (en) 2009-09-08 2011-03-10 Ricoh Company, Ltd Printer driver, information processing apparatus, and program product storing printer driver therein
US20110188064A1 (en) * 2010-02-02 2011-08-04 Sharp Kabushiki Kaisha Printer control apparatus, printer control method, printing system, and storage medium
US20110286036A1 (en) 2010-05-18 2011-11-24 Hiroto Kobayashi Information processing apparatus, print control program, and recording medium
US20120140269A1 (en) 2010-12-01 2012-06-07 Hiroto Kobayashi Information processing device, information processing method, and recording medium
US20130044335A1 (en) 2011-08-17 2013-02-21 Ricoh Company, Ltd. Print control method, information processing apparatus, and recording medium
US20130094056A1 (en) 2011-10-13 2013-04-18 Hiroto Kobayashi Information processing apparatus, system
US20130250331A1 (en) 2012-03-21 2013-09-26 Ricoh Company, Ltd. Apparatus and computer-readable recording medium for processing data based on setting conditions
US20140063522A1 (en) 2012-08-29 2014-03-06 Ricoh Company, Ltd. Information processing apparatus, output system, information processing method, and recording medium storing information processing program
US20160077777A1 (en) 2013-09-17 2016-03-17 Hiroto Kobayashi Information processing apparatus, information processing system and non-transitory computer-readable information recording medium
US20150169267A1 (en) 2013-12-16 2015-06-18 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and computer program
US20150254026A1 (en) 2014-03-10 2015-09-10 Hiroto Kobayashi Information delivery system, information processing apparatus, and information delivery method
EP2924557A1 (en) 2014-03-14 2015-09-30 Canon Kabushiki Kaisha Information processing apparatus and method of controlling the same
JP2015215653A (ja) 2014-05-08 2015-12-03 コニカミノルタ株式会社 プリンタドライバ及びプリンタドライバの禁則処理制御方法
JP2015225481A (ja) 2014-05-28 2015-12-14 キヤノン株式会社 印刷設定情報を効率良く編集するためのプログラム
US20160085484A1 (en) * 2014-09-19 2016-03-24 Konica Minolta Inc. Non-transitory computer readable recording medium on which a ui program is recorded, print control apparatus and control method of the same
US20170078520A1 (en) 2015-09-10 2017-03-16 Hiroto Kobayashi Information distribution system, information processing device, and information distribution method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
European Search Report EP17189970; dated Jan. 23, 2018.
Microsoft; Developing v4 Print Drivers v1.3; Sep. 28, 2012.

Also Published As

Publication number Publication date
US20180067704A1 (en) 2018-03-08
CN107807802A (zh) 2018-03-16
CN107807802B (zh) 2021-08-20
EP3293627A1 (en) 2018-03-14

Similar Documents

Publication Publication Date Title
US10275192B2 (en) Information processing apparatus, image processing system, and printer driver
US10191697B2 (en) Information processing apparatus, information processing system, and information processing method
US9367266B2 (en) Information processing apparatus, control method, and storage medium
US8427686B2 (en) Printer driver, information processing apparatus, and computer-readable recording medium recording therein printer driver having multiple decompression units
JP6834823B2 (ja) プリンタドライバ、情報処理装置および画像処理システム
CN104583932B (zh) 信息处理装置及安装方法
KR20130094239A (ko) 정보처리장치, 정보처리방법 및 컴퓨터 판독 가능한 매체
JP2008097574A (ja) 情報処理装置、プログラム及びその記録媒体
US20180288245A1 (en) Pull-print compatible image forming system, server and image forming method
JP2014160371A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
JP5511483B2 (ja) 情報処理装置、制御方法、およびプログラム
JP2001159959A (ja) 周辺機器制御方法および装置および記録媒体
US10606528B2 (en) Information processing apparatus, information processing system, information processing method, and non-transitory computer-readable storage medium
US20160165097A1 (en) Information processing apparatus, information processing method, and program
US8477349B2 (en) Information processing apparatus, and network setting method
US10389901B2 (en) Information processing device, information processing system, and information processing method
CN113596275A (zh) 图像形成设备、图像形成设备的控制方法和存储介质
JP2012059106A (ja) カスタマイズ装置、印刷システム、カスタマイズ方法およびカスタマイズプログラム
US20180364957A1 (en) Image forming apparatus and control method of image forming apparatus
US11385848B2 (en) Information processing apparatus and control method
JP7243064B2 (ja) 情報処理装置、プログラム、情報処理システム及び情報処理方法
US20210042131A1 (en) Information processing apparatus, method of controlling the same, and storage medium
JP6852350B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2023153904A (ja) 情報処理装置

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: RICOH COMPANY, LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KOBAYASHI, HIROTO;REEL/FRAME:043781/0528

Effective date: 20170905

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

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: 20230430