WO2025239013A1 - 情報処理プログラム - Google Patents
情報処理プログラムInfo
- Publication number
- WO2025239013A1 WO2025239013A1 PCT/JP2025/010490 JP2025010490W WO2025239013A1 WO 2025239013 A1 WO2025239013 A1 WO 2025239013A1 JP 2025010490 W JP2025010490 W JP 2025010490W WO 2025239013 A1 WO2025239013 A1 WO 2025239013A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information processing
- application
- information
- setting range
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
Definitions
- the present invention relates to an information processing program executed on an information processing device capable of communicating with a printing device.
- OS operating systems
- driverless printing capabilities which allow printing according to a specific printing standard without using a printer driver provided by the printer vendor, are becoming more common. In this case, printing can be performed without installing a printer driver.
- a virtual printing device is registered in the OS's standard printing software, and print data from the OS's standard printing software is output to the virtual printing device, which then prints based on that print data.
- the user can then apply various print settings to the virtual printing device when printing.
- the object of the present invention is to provide an information processing program that enables print settings to be configured for each user or application when printing via a virtual printing device, thereby improving convenience.
- the information processing program of the present invention is executable by the calculation unit of an information processing device and is compatible with a printing device that can communicate with the information processing device, wherein the information processing device is equipped with an operating system having printing software, and the information processing program is registerable with the printing software as a virtual printing device, and when the information processing program is registered with the printing software as the virtual printing device, the information processing program performs, on the calculation unit of the information processing device, a print setting range management information acquisition process that acquires print setting range management information that manages the print setting range, which is the range that can be set for printing on the printing device, for each user, and a process that performs a print setting range management information acquisition process based on the acquired print setting range management information.
- the system is configured to execute a first command sending process that sends to the printing software a first command that causes the information processing device to acquire user identification information of the user using the information processing device; a setting range specifying information sending process that sends to the printing software print setting range specifying information that causes the information processing device to specify the print setting range of the user using the information processing device based on the user identification information acquired in response to the first command; a print data acquisition process that acquires from the printing software first print data with print settings that correspond to the first command and the print setting range specifying information; and a print data sending process that transmits to the printing device second print data based on the first print data acquired in the print data acquisition process.
- a calculation unit that executes the information processing program of the present invention acquires print setting range management information for managing the print setting range of the printing device for each user in a print setting range management information acquisition process. Based on the acquired print setting range management information, the calculation unit transmits a first command to the printing software in a first command transmission process, causing the information processing device to acquire user identification information of the user using the information processing device. In a setting range specifying information sending process, the calculation unit sends print setting range specifying information to the printing software, which causes the information processing device to specify the print setting range of the user using the information processing device based on the user identification information acquired in response to the first command.
- the calculation unit acquires first print data with print settings in accordance with the first command and the print setting range specifying information from the printing software.
- the calculation unit transmits second print data based on the first print data acquired in the print data acquisition process to the printing device.
- the information processing program of the present invention is executable by the calculation unit of an information processing device and is compatible with a printing device that can communicate with the information processing device, wherein the information processing device is equipped with an operating system having printing software, and the information processing program is registerable with the printing software as a virtual printing device, and when the information processing program is registered with the printing software as the virtual printing device, the information processing program performs a print setting range management information acquisition process on the calculation unit of the information processing device to acquire print setting range management information that manages the print setting range, which is the range that can be set for printing on the printing device, for each application, and a process based on the acquired print setting range management information.
- the system is configured to execute a second command sending process that sends to the printing software a second command that causes the information processing device to acquire application identification information for the application being used by the information processing device; a setting range specifying information sending process that sends to the printing software print setting range specifying information that causes the information processing device to specify the print setting range for the application being used by the information processing device based on the application identification information acquired in response to the second command; a print data acquisition process that acquires from the printing software first print data with print settings that correspond to the second command and the print setting range specifying information; and a print data sending process that transmits to the printing device second print data based on the first print data acquired in the print data acquisition process.
- a calculation unit that executes the information processing program of the present invention acquires print setting range management information for managing the print setting range of the printing device for each application in a print setting range management information acquisition process. Based on the acquired print setting range management information, the calculation unit transmits a second command to the printing software to cause the information processing device to acquire application identification information of the application being used in the information processing device in a second command transmission process. In a setting range specifying information sending process, the calculation unit sends print setting range specifying information to the printing software that causes the information processing device to specify the print setting range of the application being used in the information processing device based on the app identification information acquired in response to the second command.
- the calculation unit acquires first print data with print settings in accordance with the second command and the print setting range specifying information from the printing software.
- the calculation unit transmits second print data based on the first print data acquired in the print data acquisition process to the printing device.
- print settings when printing via a virtual printing device, print settings can be configured for each user or application, improving convenience.
- FIG. 1 is a block diagram illustrating an example of a system configuration of a printing system and a functional configuration of a terminal device according to an embodiment of the present invention.
- 10 is a diagram illustrating an example of a screen displayed on the display unit of the terminal device by the setting editor when a new user is added to the PPD file.
- FIG. 10 is a diagram illustrating an example of a screen displayed on the display unit of the terminal device by a setting editor when a new application is added to a PPD file.
- FIG. 10 is a diagram illustrating an example of a screen displayed on the display unit of the terminal device by a setting editor when a new setting is added to a PPD file.
- 10 is a diagram illustrating an example of a print setting screen displayed on a display unit of a terminal device by a setting editor.
- 10 is a flowchart illustrating an example of a control procedure executed when a printer application creates a PPD file.
- 10 is a flowchart illustrating an example of a control procedure executed when a printer application responds to an attribute request of CUPS.
- 10 is a flowchart illustrating an example of a control procedure that an application executes in response to a print operation by a user when printing is executed.
- 10 is a flowchart illustrating an example of a control procedure that a printer application executes when a print request is received from a CUPS.
- FIG. 2 is a block diagram illustrating an example of a hardware configuration of a terminal device and a printer.
- Fig. 1 shows an example of the system configuration of a printing system 1 according to this embodiment.
- the printing system 1 includes a terminal device 100 and a printer 200.
- the terminal device 100 and the printer 200 are connected to each other so as to be able to communicate with each other via, for example, the Internet, a wired LAN, or a wireless LAN.
- the terminal device 100 is an example of an information processing device
- the printer 200 is an example of a printing device.
- the terminal device 100 transmits print data to the printer 200 to execute printing.
- the terminal device 100 is, for example, a desktop PC, a notebook PC, a tablet computer, or the like, but may also be a mobile terminal such as a smartphone.
- the terminal device 100 has a processor 110 and a storage device 115 that stores various print processing programs (see FIG. 10 described later).
- the processor 110 executes the various print processing programs, thereby achieving the functional configuration shown in FIG. 1. Note that in the following description, while it may be stated that a program does ***, this means that the process of *** is performed when the program is executed by the processor 110.
- the terminal device 100 has an OS (Operating System) 101, an application 102 that supports the OS's printing functions, a printer application 170, a browser 104, and a settings editor 106.
- the OS 101 has a so-called driverless printing function that prints according to a specified printing standard without using a printer driver provided by the printer vendor.
- OS 101 has CUPS (Common Unix Printing System) 160, a modularized printing system for the OS.
- OS 101 is an example of an operating system
- CUPS 160 is an example of printing software.
- the printing software may be built into OS 101 as standard.
- the CUPS 160 includes an HTTP server 161 , a CUPS SPnP management unit 162 , an IPP client 163 , and a print data scheduler and spooler 164 .
- the HTTP server 161 is server software that runs on the CUPS 160.
- the HTTP server 161 obtains information and functions via the browser 104 using the HTTP (Hypertext Transfer Protocol) protocol, or provides information and functions to them.
- the CUPSPnP management unit 162 has a PnP (Plug and Play) function that registers a printer (including a virtual printing device) detected using a protocol such as mDNS/SD in the CUPS 160 and creates a print queue.
- CUPS160 can perform general-purpose printing on the printer without going through printer application 170 by installing a PPD (PostScript Printer Description) file, but this function is not used in this embodiment.
- PPD PostScript Printer Description
- This embodiment assumes that printing will be done through printer application 170, and once printer application 170 is installed, the PnP function recognizes printer application 170 as a virtual printer that supports IPP (Internet Printing Protocol). Then, based on the IPP attributes sent from printer application 170, a PPD (hereinafter referred to as CUPS160's internal PPD to distinguish it from the PPD file installed in printer application 170, described below) is generated, and CUPS160 behaves in the same way as if a PPD file had been installed.
- CUPS160's internal PPD to distinguish it from the PPD file installed in printer application 170, described below
- the CUPSPnP management unit 162 is configured by a script executed when the printer application 170 is installed so that the search address for PnP is limited to the internal network of the terminal device 100 (usually IP address 127.0.0.1).
- the CUPS 160 cannot directly recognize the printer 200, and recognizes the printer application 170 as the printer.
- the printer application 170 is not an actual printer, but rather a so-called virtual printer that behaves as a printer to the CUPS 160.
- the printer application 170 acts as an intermediary between the CUPS 160 and the printer 200, enabling printing using the CUPS 160 and the printer 200.
- the IPP client 163 transmits and receives print data or attributes to and from an IPP/mDNS server 173 (described later) using the IPP protocol.
- the print data scheduler and spooler 164 manages print jobs sent from the application 102 and the like, and also manages multiple print jobs generated simultaneously so that they are temporarily blocked and processed sequentially before being handed over to the IPP client 163 .
- the printer application 170 can be registered in the CUPS 160 as a virtual printer corresponding to the connected printer 200.
- the CUPS 160 treats the printer application 170 as a virtual printer and executes various processes related to printing. These processes include, for example, a capability information acquisition process and a print data transmission process.
- the printer application 170 includes a printer communication unit 171, an attribute/mDNS conversion unit 172, an IPP/mDNS server 173, a print data conversion unit 174, and a print setting storage unit 175.
- the printer application 170 is an example of an information processing program.
- the printer application 170 of this embodiment is a retrofit type that additionally registers a PPD file prepared for each printer when a compatible printer is added.
- the printer communication unit 171 communicates with the printer 200.
- the printer communication unit 171 receives capability information from the printer 200 and sends print data to the printer 200. Communication between this printer communication unit and the printer is performed via a network, USB, etc.
- protocols such as IPP or LPD are used.
- IPP attributes are used in the case of the IPP protocol
- PJL information is used in the case of other interfaces or protocols such as USB.
- the attribute/mDNS conversion unit 172 acquires capability information indicating the capabilities of the printer 200 via the printer communication unit 171.
- the attribute/mDNS conversion unit 172 converts the capability information acquired from the printer 200 into IPP attributes corresponding to the printing functions that CUPS 160 can handle.
- the IPP attribute/mDNS conversion unit 172 reads from the print setting storage unit 175 a PPD file that manages the print setting range, which is the range of print settings possible on the printer 200, for each user and each application 102, and converts it into IPP attributes corresponding to the printing functions that CUPS 160 can handle.
- the attribute/mDNS conversion unit 172 also has mDNS (multicast Domain Name System) functionality.
- mDNS simultaneously broadcasts DNS queries within a local network using IP (Internet Protocol) multicast, simultaneously querying all devices on the same network. Devices that receive a query respond by transmitting their own IP address.
- the print setting memory unit 175 stores a PPD file that manages the print setting range, which is the range of print settings possible on the printer 200, for each user and application 102.
- the PPD file includes the print setting ranges for all users and all applications 102 to be set.
- the PPD file is an example of print setting range management information.
- the print setting range includes setting items such as paper size, print mode, and paper type.
- the print setting range is set for each user and application 102 in the print setting screen DB6 (see Figure 5 described below).
- the print setting screen DB6 is displayed on the display unit 140 (see Figure 10 described below) via the browser 104 by the setting editor 106, which is a setting application for editing the PPD file.
- the print setting screen DB6 may also be displayed on the display unit 140 by the setting editor 106 without via the browser 104.
- the setting editor 106 is launched by a setting application launch process performed by the printer application 170.
- the HTTP server 176 of the printer application 170 acquires the print setting range set in the print setting screen DB 6.
- the printer application 170 creates a PPD file based on the acquired print setting range and stores it in the print setting storage unit 175.
- the print setting storage unit 175 is, for example, a partial area of the data storage area 132 of the non-volatile storage device 130 of the storage device 115 of the terminal device 100 (see FIG. 10 described below).
- the PPD file may be edited not only on the terminal device 100 but also on an external terminal, or pre-set contents may be installed in the printer application 170.
- IPP/mDNS server 173 outputs the attributes converted by attribute/mDNS conversion unit 172 to CUPS 160 in response to CUPS 160's capability information acquisition process.
- CUPS 160 outputs print data corresponding to the attributes converted by IPP client 163.
- IPP/mDNS server 173 acquires print data corresponding to the converted attributes output from CUPS 160 and outputs it to print data conversion unit 174.
- IPP/mDNS server 173 has mDNS functionality, just like attribute/mDNS conversion unit 172.
- the print data conversion unit 174 obtains print data from CUPS 160 via the IPP/mDNS server 173.
- the print data conversion unit 174 obtains user information for identifying the user using the terminal device 100 from CUPS 160 via the IPP/mDNS server 173.
- the user information is, for example, a login user name.
- the print data conversion unit 174 also obtains app information for identifying the application 102 being used on the terminal device 100 from CUPS 160 via the IPP/mDNS server 173.
- the app information is, for example, an app name included in the print job.
- the print data conversion unit 174 obtains a PPD file from the print setting storage unit 175, and determines a print setting range according to the user using the terminal device 100 and the application 102 being used based on the obtained PPD file and the above user information and app information.
- the print data conversion unit 174 converts the print data obtained from CUPS 160 into print data based on the above-determined print setting range.
- the print data conversion unit 174 outputs the converted print data to the printer communication unit 171.
- the print data acquired by the print data conversion unit 174 from the CUPS 160 is an example of first print data
- the print data converted based on the print setting range is an example of second print data. Note that the second print data may be the first print data as is.
- the printer communication unit 171 transmits the print data output from the print data conversion unit 174 to the printer 200.
- a PPD file is stored in advance to manage the print setting range of the printer 200 for each user who uses the terminal device 100 and for each application 102 used on the terminal device 100.
- the print setting range for each user and application 102 contained in the PPD file can be edited using the settings editor 106.
- the print setting range can be edited by each user themselves, or, for example, by an administrator who can set it for all users.
- printer application 170 In response to a request from CUPS 160, printer application 170 outputs attributes converted based on the PPD file to CUPS 160. Printer application 170 receives print data output from CUPS 160 corresponding to the attributes. Printer application 170 then converts the print data obtained from CUPS 160 into print data based on the print setting range corresponding to the user name and application name as necessary, and sends the converted print data to printer 200.
- ⁇ Printer application and settings editor screen display> 2 to 5 show examples of screen displays by the printer application 170 or the setting editor 106. Note that although the case where the administrator sets the print setting range will be described here, each user may set it themselves as described above.
- Figures 2(a) to 2(d) show examples of screens displayed by the printer application 170 on the display unit 140 of the terminal device 100 when editing a PPD file to set the print setting range.
- Figure 2(a) shows the administrator authentication screen DB1.
- This screen DB1 is displayed, for example, by accessing a specific URL for the printer application 170 or by clicking an editing icon. Note that screen DB1 may also be displayed when the printer application 170 is selected as a printer on the application 102.
- the administrator authentication screen DB1 displays a password input section PI for entering a password, an OK button B1, and a cancel button B2. When a password is entered in the password input section PI and the OK button B1 is operated, password authentication is performed. If password authentication is successful on the administrator authentication screen DB1, the screen transitions to Figure 2(b).
- Figure 2(b) shows the target selection screen DB2 for selecting the target for which to set the print setting range.
- the target selection screen DB2 displays a username selection section US for selecting a username, an application name selection section AS for selecting an application name, an OK button B1, a cancel button B2, and a delete button B3.
- a pull-down menu PM1 is displayed below the username selection section US, as shown in Figure 2(c).
- the username here is the name of the user designated as the JOB owner when printing, and is usually the login name of the printing operator.
- Figure 2(d) shows the new user screen DB3 for adding a new user to the set targets of the print setting range.
- the new user screen DB3 displays a user name input section UI for inputting a new user name, an OK button B1, and a cancel button B2.
- OK button B1 is pressed after a user name has been input on the new user screen DB3
- the user name is added to the pull-down menu PM1.
- the screen returns to the target selection screen DB2 shown in Figure 2(b), for example.
- Figures 3(a) and 3(b) show an example of a screen displayed on the display unit 140 of the terminal device 100 by the printer application 170 when a new application 102 is added to the PPD file.
- FIG. 3(b) shows the new app screen DB4 for adding a new application 102 to the settings targets for the print setting range.
- the new app screen DB4 displays an app name input section AI for inputting a new app name, an OK button B1, and a cancel button B2.
- the OK button B1 is pressed after an app name has been input on the new app screen DB4
- the app name is added to the pull-down menu PM2.
- the screen then returns to the target selection screen DB2 shown in FIG. 2(b), for example.
- Figures 4(a) and 4(b) show an example of a screen displayed on the display unit 140 of the terminal device 100 by the printer application 170 when adding new print settings to a PPD file.
- the print settings selection screen DB5 shown in FIG. 4(a), for example, is displayed.
- the print settings selection screen DB5 displays a print settings selection section PS for selecting print settings, an OK button B1, a cancel button B2, and a delete button B3.
- a pull-down menu PM3 is displayed below the print settings selection section PS, as shown in FIG. 4(b).
- FIG. 5 shows the print setting screen DB6 for setting print setting ranges for each user and each application 102.
- the example shown in FIG. 5 is the print setting screen DB6 when User A is selected in the pull-down menu PM1 in FIG. 2(c), App 2 is selected in the pull-down menu PM2 in FIG. 3(a), and New (Print Setting 4 added) is selected in the pull-down menu PM3 in FIG. 4(b).
- This print setting screen DB6 sets print setting 4, which is the print setting range when User A uses App 2.
- the print setting screen DB6 displays a document name input section DI for entering the name of the document to which the print setting range applies, a paper size range setting section SS for setting the print setting range for paper size, a print mode range setting section MS for setting the print setting range for print mode, a paper type range setting section TS for setting the print setting range for paper type, a watermark character input section TI for entering watermark characters, an OK button B1, and a cancel button B2.
- the document name input section DI specifies the target to which the print setting range set on the print setting screen DB6 will be applied, based on the document name of the print data.
- the print data has a document name that includes the text entered in the document name input section DI
- the print setting range set on the print setting screen DB6 will be applied. If left blank, all document names will be applied.
- Regular expressions can also be used to specify this document name. For example, if " ⁇ Invoice [0-9] [0-9] [0-9] [0-9]" is entered, document names starting with "Invoice 0000" through "Invoice 9999" will be applied.
- the paper size range setting unit SS, print mode range setting unit MS, and paper type range setting unit TS set the print setting ranges for paper size, print mode, and paper type, respectively. For example, items with a circle symbol entered are set as the default, items with a check symbol entered are set as selectable, and items with no symbol entered are set as unselectable.
- A4 is the default paper size
- A5 is selectable
- A3 and Legal are unselectable.
- monochrome is selectable for the print mode, and color is unselectable.
- recycled paper is the default paper type, and plain paper is selectable. Note that items other than those listed above may also be set.
- the characters are printed as watermark characters on the printing paper. If no characters are entered in the watermark character input area TI, no watermark characters are printed.
- the OK button B1 is operated, the print setting range set in the print setting screen DB6 is associated with the selected user name and application name and passed to the printer application 170. The printer application 170 then creates a PPD file, which will be described later.
- Figure 6 shows an example of the control procedure executed by the printer application 170 when creating a PPD file.
- the printer application 170 describes the standard items in the PPD file.
- Standard items include, for example, the version name of the PPD file, language settings, etc.
- step S20 the printer application 170 describes the print setting range for each user and app set by the setting editor 106 described above as exclusive items.
- exclusive items For example, in the example shown in Figure 5, for user A and app 2, A3 and Legal are described as exclusive items for paper size, color is described as exclusive item for print mode, and no exclusive item is described for paper type.
- step S30 the printer application 170 describes all user names for which the print setting range is to be set, and then prompts the user to select one user name from all of the user names.
- step S40 the printer application 170 describes the names of all apps for which the print setting range is to be set, and prompts the user to select one app name from all of the app names.
- step S50 the printer application 170 describes the setting items to be set in the print setting range.
- Setting items include, for example, the aforementioned paper size, print mode, paper type, etc.
- step S60 the printer application 170 determines whether all setting items to be set in the print setting range have been described. If the printer application 170 determines that all setting items have not been described (step S60: No), it returns to step S50 above. On the other hand, if the printer application 170 determines that all output items have been described (step S60: Yes), it proceeds to the next step, S70.
- step S70 the printer application 170 writes the font information. This completes this flowchart.
- Figure 7 shows an example of a control procedure executed by printer application 170 when responding to an attribute request from CUPS 160.
- a PPD file is an example of print setting range management information
- creating a PPD file is an example of print setting range management information acquisition processing.
- the PPD file may be created externally, such as on an information processing device for the administrator, and stored in print setting storage unit 175 via a network or removable storage medium.
- the processing of reading the PPD file from print setting storage unit 175 is an example of print setting range management information acquisition processing.
- step S110 the attribute/mDNS conversion unit 172 of the printer application 170 obtains the PPD file from the print setting storage unit 175 and generates IPP attributes based on the PPD file.
- the printer application 170 also inherits the user selection section description of step S30 into the IPP attributes that form the basis of the internal PPD of CUPS 160 so that the application 102 accepts the user's selection of a user name (see step S220 described below).
- This IPP attribute is an example of a first command.
- the printer application 170 also inherits the application selection section description of step S40 into the IPP attributes that form the basis of the internal PPD of CUPS 160 so that the application 102 accepts the user's selection of an application name (see step S230 described below).
- This IPP attribute is an example of a second command.
- the user name is an example of user identification information
- the application name is an example of application identification information.
- step S120 the attribute/mDNS conversion unit 172 of the printer application 170 outputs an IPP attribute based on the PPD file generated in step S110 to CUPS 160 in response to an attribute request from CUPS 160.
- the attribute request is an example of a capability information request.
- the process of outputting an IPP attribute to CUPS 160 in steps S110 and S120 that causes the selection of a user name to be accepted is an example of a first command transmission process.
- the process of outputting an IPP attribute to CUPS 160 in steps S110 and S120 that causes the selection of an application name to be accepted is an example of a second command transmission process.
- Figure 8 shows an example of a control procedure for a user using application 102 to perform a print operation when printing is to be performed.
- step S210 the application 102 accepts a selection operation to select the printer to print from.
- step S215 application 102 generates and displays a settings screen based on the internal PPD of CUPS 160 corresponding to the printer selected in step S210.
- This internal PPD is a PPD version of the IPP attributes generated based on the information in the PPD file generated in Figure 6.
- This internal PPD contains the user selection information, application selection information, and exclusive items of the PPD file generated in Figure 6. This information allows a user selection menu (contents written in the PPD file by the processing in step S30) and an application selection menu (contents written in the PPD file by the processing in step S40) to be displayed in addition to the normal print settings.
- the user selects their own user name from the user selection menu (S220). Next, the user selects the name of the application they are using from the application selection menu. At this time, only applications permitted based on the exclusions of the internal PPD of CUPS160 described in step S20 of Figure 6 are visible and can be selected by the user.
- step S240 the application will leave only the settings permitted for that user and application combination based on the exclusions in the PPD file described in step S20 of Figure 6, and will make other settings invisible and unable to be set.
- the user sets print settings within the settable range (S250).
- the settable range S250.
- the visibility of each item on the setting screen is simply determined according to the exclusive items, and any setting can be made first.
- the print mode is selected as color, and the exclusive items do not allow the user to print in color
- the user will know that they do not have the authority to print in color because they will not be able to select their own user name.
- the user can select a user name other than their own or an application other than the one they are currently using, but printing will be prevented by the process described below.
- the CUPS 160 has an internal PPD, but this is not limiting.
- the CUPS 160 may have information in another format as long as the CUPS 160 and the application 102 operate in the same manner.
- Figure 9 shows an example of the control procedure that the printer application 170 executes when a print request is received from the CUPS 160.
- the printer application 170 obtains the print job name output from the CUPS 160.
- the print job name is typically a rule-based combination of the app name used for printing and the print file name, and the app name can be identified from this name.
- the app name consists, for example, of a half-width alphabetic character string.
- the app name is an example of app information. That is, in step S310, the printer application 170 obtains app information from the CUPS 160 of the OS 101 to identify the application 102 being used on the terminal device 100. Note that the app information and the app identification information may be the same or different.
- the app identification information may include the name of an app already installed on the terminal device 100, consisting of a full-width character string such as kanji or katakana, or information that can identify other apps.
- Step S310 is an example of app identification processing.
- the printer application 170 obtains the user name of the owner of the print job. This is usually the login name of the user who launched the application used for printing.
- the user name consists of, for example, a string of half-width alphabetic characters.
- a user name such as a login user name is an example of user information.
- the printer application 170 obtains user information from CUPS 160 of OS 101 to identify the user using the terminal device 100.
- the user information and the user identification information may be the same or different.
- the user identification information may include a user name consisting of a string of full-width characters such as kanji or katakana, or other information that can identify the user.
- Step S320 is an example of user identification processing.
- printer application 170 acquires print data from CUPS 160.
- This print data consists of print image data and the print setting data set in step S250.
- the print data acquired in step S330 is an example of first print data, and step S330 is an example of print data acquisition processing.
- step S340 the printer application 170 reads the PPD file from the print setting storage unit 175 and identifies the print setting range to be set using the application name acquired in step S310 and the user name acquired in step S320.
- the print setting range corresponding to the user using the terminal device 100 and the application 102 being used on the terminal device 100 is determined based on the PPD file, the application name acquired in step S310, and the user name acquired in step S320.
- step S350 printer application 170 converts the print data acquired in step S330 above into print data that matches the capabilities of the PPD file identified in step S340 above. That is, in step S350, the print data is converted so that it corresponds to the print setting range determined in step S340 above.
- the print data converted in step S350 is an example of second print data. Note that if the print setting data in the print data and the print setting range determined in S340 are inconsistent and conversion is not possible, an error is generated in step S370, described below.
- printer application 170 determines whether the user name selected in step S220 and the application name selected in step S230 are correct. Specifically, with regard to the user name, it checks whether the user name (selected in step S220) extracted from the print setting data in the print data acquired in step S330 matches the user name of the JOB owner acquired from CUPS 160 in step S320. If they match, it determines that the user name is correct. With regard to the application name, it checks whether the document name (i.e., the document name entered in document name input section DI in Figure 5) corresponding to the application name (selected in step S230) extracted from the print setting data in the print data acquired in step S330 matches the document name acquired from CUPS 160.
- the document name i.e., the document name entered in document name input section DI in Figure 5
- step S360 is an example of a consistency determination process.
- step S360: No If at least one of the above user name and application name is incorrect (step S360: No), the printer application 170 performs error processing and terminates this flowchart without executing step S380, which will be described later. On the other hand, if both the above user name and application name are correct (step S360: Yes), the printer application 170 proceeds to the next step, S370.
- step S370 printer application 170 determines whether or not the print data conversion in step S350 above was not successful. If printer application 170 was unable to convert the print data (step S370: Yes), it does not execute step S380, which will be described later, but instead performs error processing and ends this flowchart. On the other hand, if printer application 170 was able to convert the print data (step S370: No), it proceeds to the next step, S380.
- step S380 the printer application 170 sends the print data converted in step S350 to the printer 200.
- Step S380 is an example of print data transmission processing. This completes this flow chart.
- the printer application 170 of this embodiment acquires a PPD file for managing the print setting range of the printer 200 for each user. Based on the acquired PPD file, in steps S110 and S120, the printer application 170 transmits to the CUPS 160 an IPP attribute that causes the terminal device 100 to acquire the user name of the user who is using the terminal device 100. In steps S110 and S120, the printer application 170 transmits to the CUPS 160 an IPP attribute that causes the terminal device 100 to identify the print setting range of the user using the terminal device 100 based on the user name acquired in step S220.
- step S330 the printer application 170 acquires print data of the print settings corresponding to the output IPP attribute from the CUPS 160.
- step S380 the printer application 170 transmits the print data converted based on the print data acquired in step S330 to the printer 200.
- printing can be performed according to the print settings that are individual to each user. Therefore, for example, when multiple users share the printer application 170, even if the print settings of the previous user remain, the print settings can be switched to the print settings specific to that user, improving convenience.
- a PPD file is acquired for managing the print setting range of the printer 200 for each application 102.
- the printer application 170 transmits to the CUPS 160, in steps S110 and S120, an IPP attribute that causes the terminal device 100 to acquire the application name of the application 102 being used by the terminal device 100.
- the printer application 170 transmits to the CUPS 160 an IPP attribute that causes the terminal device 100 to specify the print setting range of the application 102 being used in the terminal device 100 based on the application name acquired in step S230.
- step S330 the printer application 170 acquires print data of the print settings corresponding to the output IPP attribute from the CUPS 160.
- step S380 the printer application 170 transmits the print data converted based on the print data acquired in step S330 to the printer 200.
- printing can be performed according to the contents of the print settings that are individual to each application 102. Therefore, for example, when printing is performed on the printer application 170 via the application 102, if there are multiple applications 102, even if the contents of the print settings of another application 102 remain, it is possible to switch to the print settings specific to that application, improving convenience.
- printing can be performed according to the contents of the print settings that are determined not only for a user but also for each combination of a user and an application 102, further improving convenience.
- the printer application 170 describes all user names for which the print setting range is to be set, and sends an IPP attribute to CUPS 160 that describes the user to select one user name from all of the user names. This allows the user using the terminal device 100 to select a user name.
- the printer application 170 describes the names of all the applications for which the print setting range is to be set, and sends an IPP attribute to CUPS 160 that describes the user to select one application name from all of the application names. This allows the user using the terminal device 100 to select the application name being used on the terminal device 100.
- the printer application 170 sends to CUPS 160 an IPP attribute that describes the print setting range for each user and application 102 as an exclusive item. This allows the print setting range to be clearly set by describing content outside the print setting range as an exclusive item.
- step S320 the printer application 170 obtains from the OS 101 a username for identifying the user using the terminal device 100. This eliminates the need for the user to input a username, improving convenience.
- the printer application 170 obtains from the OS 101 an application name for identifying the application 102 being used on the terminal device 100. This eliminates the need for the user to input the application name, improving convenience.
- this embodiment particularly achieves the following effect. That is, when a user sets a user name for printing using the application 102, the user may mistakenly set a different user name.
- the printer application 170 acquires from the OS 101 a user name for identifying the user using the terminal device 100.
- the printer application 170 acquires a print setting list from the CUPS 160 and, based on the print setting list, acquires the user name accepted from the user in step S220 during the printing using the application 102. Then, in step S360, the printer application 170 determines whether the user name accepted from the user matches the user name acquired from the OS 101, and if they match, sends the print data to the printer 200. This makes it possible to avoid inappropriate print settings due to the erroneous entry of a different user name.
- printer application 170 acquires from OS 101 an app name for identifying application 102 being used by terminal device 100.
- printer application 170 acquires a print setting list from CUPS 160 and, based on the print setting list, acquires the app name received from the user in step S230 during printing using application 102.
- printer application 170 determines whether the app name received from the user matches the app name acquired from OS 101, and, if they match, transmits the print data to printer 200. This makes it possible to avoid inappropriate print settings due to the erroneous setting of a different app name.
- step S40 can be deleted, and a PPD file that manages the print setting range of the printer 200 for each user can be generated.
- step S230 can be deleted.
- step S310 can be deleted, and in step S340, the print setting range set by the user name acquired in step S320 above can be identified, and in step S360, it can be determined whether the users match.
- step S30 can be deleted, and a PPD file can be generated that manages the print setting range of the printer 200 for each application 102.
- step S220 can be deleted.
- step S320 can be deleted, and in step S340, the print setting range set by the application name acquired in step S310 above can be identified, and in step S360, it can be determined whether the applications are consistent.
- This modified example also achieves the same effects as the above embodiment.
- the printer application includes a settings editor
- the printer application 170 may be configured to include the functions of the settings editor 106.
- the printer application 170 may be configured to execute an editing screen display process that displays an editing screen on the display unit 140 of the terminal device 100 to accept edits to the PPD file for each user, and an editing acceptance process that accepts edits to the PPD file for each user in accordance with the editing screen displayed in the editing screen display process. Also, the printer application 170 may be configured to execute an editing screen display process that displays an editing screen on the display unit 140 of the terminal device 100 to accept edits to the PPD file for each application 102, and an editing acceptance process that accepts edits to the PPD file for each application 102 in accordance with the editing screen displayed in the editing screen display process.
- the above-mentioned editing screens are, for example, the screens shown in Figures 2 to 5 above.
- the printer application 170 includes the functionality of the setting editor 106.
- the administrator can use this function of the printer application 170 to efficiently and smoothly execute the print settings of multiple users.
- the administrator can use this function of the printer application 170 to efficiently and smoothly execute the print settings of multiple users.
- the terminal device 100 includes a processor 110, a storage device 115, a display unit 140, an operation unit 150, and a communication interface 190.
- the processor 110, the storage device 115, the display unit 140, the operation unit 150, and the communication interface 190 are connected via a bus 105 so as to be able to transmit and receive data to and from each other.
- the storage device 115 includes a volatile storage device 120 and a non-volatile storage device 130.
- the volatile storage device 120 is, for example, a DRAM, and stores various programs and data to be processed.
- the non-volatile storage device 130 is, for example, a hard disk drive or solid state drive, and includes a program storage area 131 and a data storage area 132.
- the program storage area 131 stores various programs. These programs include the printer application 170 and print processing program based on the flowcharts in Figures 6 to 9.
- the data storage area 132 stores data necessary for executing the various programs.
- the processor 110 is a device that performs data processing, such as a CPU, and executes various programs stored in the program storage area 131.
- the processor 110 performs various processes, including data communication with the printer 200 connected to the network NT.
- the processor 110 and the programs stored in the program storage area 131 are an example of a calculation unit and a control unit.
- the display unit 140 is, for example, an LCD display, and is capable of displaying various types of information.
- the operation unit 150 is, for example, a mouse or keyboard, and accepts operations by the user. By operating the operation unit 150, the user can input various instructions into the terminal device 100.
- the communication interface 190 is an interface for communicating with other devices and is connected to the network NT.
- the communication interface 190 is an example of a communication I/F.
- the storage device 115 is not limited to being configured with the above-mentioned device elements, but may also be configured with, for example, RAM, ROM, EEPROM, HDD, portable recording media such as a USB memory that can be attached to or detached from the terminal device 100, a buffer provided in the processor 110, or a combination thereof.
- the storage device 115 may be a computer-readable storage medium.
- a computer-readable storage medium is a non-transitory medium.
- non-transitory media also include recording media such as CD-ROMs and DVD-ROMs.
- Non-transitory media are also tangible media. The same applies to the storage device 215 of the printer 200, which will be described later.
- the printer 200 has a processor 210, a storage device 215, a display unit 240, an operation unit 250, a communication interface 270, and a printing unit 290.
- the processor 210, the storage device 215, the display unit 240, the operation unit 250, the communication interface 270, and the printing unit 290 are connected via a bus 205 so as to be able to transmit and receive data to and from each other.
- the storage device 215 comprises a volatile storage device 220 and a non-volatile storage device 230.
- the volatile storage device 220 is, for example, DRAM, and comprises an image data storage area 222 that stores image data to be printed.
- the non-volatile storage device 230 is, for example, NVRAM, flash memory, etc., and comprises a program storage area 231 and a data storage area 232.
- Various programs are stored in the program storage area 231. These programs include firmware such as a print processing program.
- the data storage area 232 stores various data and the like for executing the various programs.
- the processor 210 is a device that performs data processing, such as a CPU.
- the processor 210 executes various programs stored in the program storage area 231.
- the display unit 240 is, for example, a liquid crystal display, and is capable of displaying various information.
- the operation unit 250 is a device that accepts operations by the user. By operating the operation unit 250, the user can input various instructions to the printer 200.
- the communication interface 270 is a wired or wireless network interface for communicating with other devices, and is connected to the network NT.
- the printing unit 290 prints an image on printing paper transported by a transport device.
- the printing unit 290 prints an image on printing paper based on print data sent from the terminal device 100 or print data generated by the printing unit 290 itself based on operations on the operation unit 250.
- Terminal device an example of an information processing device
- OS an example of an operating system
- Settings Editor an example of a settings application
- Processor 160
- CUPS an example of printing software
- Printer application an example of an information processing program
- Printer an example of a printing device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
仮想の印刷装置を介した印刷の実行時において、ユーザごと又はアプリケーションごとの印刷設定を可能とする。プリンタアプリケーション170は、プリンタ200の印刷設定範囲をユーザごとに管理するPPDファイルを取得するステップS10~ステップS70と、PPDファイルに基づき端末装置100を使用しているユーザのユーザ名を端末装置100に取得させるアトリビュートをCUPS160に送信するステップS110及びステップS120と、ステップS220にて取得されるユーザ名に基づき端末装置100を使用しているユーザの印刷設定範囲を端末装置100に特定させるIPPアトリビュートをCUPS160に送信するステップS110及びステップS120と、出力したアトリビュートに対応した印刷データをCUPS160から取得し、変換した印刷データをプリンタ200へ向けて送信するステップS380と、を実行する。
Description
本発明は、印刷装置に対し通信可能な情報処理装置で実行される情報処理プログラムに関する。
従来、所定の印刷規格に従ってプリンタのベンダが提供するプリンタドライバを用いることなく印刷を行う、いわゆるドライバレスの印刷機能を有するオペレーティングシステム(OS)が一般的になりつつある。この場合、プリンタドライバのインストールを行うことなく印刷を行うことができる。
このようなドライバレスのOS標準印刷ソフトウェアの機能を利用し、かつドライバレス未対応のプリンタへの対応あるいは通常のドライバレス印刷の機能を拡張するものとして、例えば特許文献1に記載のように、OS標準印刷ソフトウェアから印刷ジョブを受信し、受信した印刷ジョブをプリンタに送信する仮想の印刷装置を情報処理装置内に構成したものが知られている。
上記従来技術においては、仮想の印刷装置がOS標準印刷ソフトウェアに登録されることで、OS標準印刷ソフトウェアからの印刷データが仮想の印刷装置へと出力され、その印刷データに基づく印刷が実行される。ユーザは、その印刷実行時の各種印刷設定を仮想の印刷装置に対し実行することができる。
しかしながら、上記従来技術においては、上記印刷設定をユーザごとに行うことはできなかった。そのため、複数のユーザが1つの仮想の印刷装置を共有する場合、前のユーザが使用した印刷設定が残った状態のままとなるため、改善の余地がある。
また、仮想の印刷装置に対し汎用の編集アプリケーションを介して印刷を実行する場合で、複数の編集アプリケーションが存在する場合も、上記同様、前に使用された編集アプリケーションによる印刷設定が残った状態のままとなるため、改善の余地がある。
また、仮想の印刷装置に対し汎用の編集アプリケーションを介して印刷を実行する場合で、複数の編集アプリケーションが存在する場合も、上記同様、前に使用された編集アプリケーションによる印刷設定が残った状態のままとなるため、改善の余地がある。
本発明の目的は、仮想の印刷装置を介した印刷の実行時において、ユーザごと又はアプリケーションごとの印刷設定を可能とし利便性を向上できる情報処理プログラムを提供することにある。
上記目的を達成するために、本願発明の情報処理プログラムは、情報処理装置の演算部によって実行可能であり、前記情報処理装置と通信可能な印刷装置に対応可能な情報処理プログラムであって、前記情報処理装置には印刷ソフトウェアを有するオペレーティングシステムが搭載されており、前記情報処理プログラムは前記印刷ソフトウェアに仮想の印刷装置として登録可能であり、前記情報処理プログラムは、前記印刷ソフトウェアに前記仮想の印刷装置として登録されたとき、前記情報処理装置の演算部に対し、前記印刷装置における印刷設定可能な範囲である印刷設定範囲をユーザごとに管理する印刷設定範囲管理情報を取得する印刷設定範囲管理情報取得処理と、取得した前記印刷設定範囲管理情報に基づき、前記情報処理装置を使用しているユーザのユーザ識別情報を前記情報処理装置に取得させる第1命令を前記印刷ソフトウェアに送信する第1命令送信処理と、前記第1命令に応じて取得される前記ユーザ識別情報に基づき前記情報処理装置を使用しているユーザの印刷設定範囲を前記情報処理装置に特定させる印刷設定範囲特定情報を前記印刷ソフトウェアに送信する設定範囲特定情報送信処理と、前記印刷ソフトウェアから前記第1命令と前記印刷設定範囲特定情報に応じた印刷設定の第1印刷データを取得する印刷データ取得処理と、前記印刷データ取得処理で取得した前記第1印刷データに基づく第2印刷データを前記印刷装置へ向けて送信する印刷データ送信処理と、を実行するよう構成されている。
本願発明の情報処理プログラムを実行する演算部は、印刷設定範囲管理情報取得処理で、印刷装置の印刷設定範囲をユーザごとに管理するための印刷設定範囲管理情報を取得する。演算部は、取得した印刷設定範囲管理情報に基づき、第1命令送信処理で、情報処理装置を使用しているユーザのユーザ識別情報を情報処理装置に取得させる第1命令を印刷ソフトウェアに送信する。
演算部は、設定範囲特定情報送信処理で、第1命令に応じて取得されるユーザ識別情報に基づき情報処理装置を使用しているユーザの印刷設定範囲を情報処理装置に特定させる印刷設定範囲特定情報を印刷ソフトウェアに送信する。演算部は、印刷データ取得処理で、印刷ソフトウェアから第1命令と印刷設定範囲特定情報に応じた印刷設定の第1印刷データを取得する。演算部は、印刷データ取得処理で取得した第1印刷データに基づく第2印刷データを、印刷データ送信処理にて印刷装置へ向けて送信する。
上記の結果、本願発明によれば、ユーザごとの個別の印刷設定の内容に応じた印刷を実行することができる。したがって、例えば複数ユーザが仮想印刷装置を共有する場合に、前のユーザの印刷設定の内容が残っていたとしても、当該ユーザ固有の印刷設定に切り替えることができ、利便性を向上できる。
演算部は、設定範囲特定情報送信処理で、第1命令に応じて取得されるユーザ識別情報に基づき情報処理装置を使用しているユーザの印刷設定範囲を情報処理装置に特定させる印刷設定範囲特定情報を印刷ソフトウェアに送信する。演算部は、印刷データ取得処理で、印刷ソフトウェアから第1命令と印刷設定範囲特定情報に応じた印刷設定の第1印刷データを取得する。演算部は、印刷データ取得処理で取得した第1印刷データに基づく第2印刷データを、印刷データ送信処理にて印刷装置へ向けて送信する。
上記の結果、本願発明によれば、ユーザごとの個別の印刷設定の内容に応じた印刷を実行することができる。したがって、例えば複数ユーザが仮想印刷装置を共有する場合に、前のユーザの印刷設定の内容が残っていたとしても、当該ユーザ固有の印刷設定に切り替えることができ、利便性を向上できる。
また上記目的を達成するために、本願発明の情報処理プログラムは、情報処理装置の演算部によって実行可能であり、前記情報処理装置と通信可能な印刷装置に対応可能な情報処理プログラムであって、前記情報処理装置には印刷ソフトウェアを有するオペレーティングシステムが搭載されており、前記情報処理プログラムは前記印刷ソフトウェアに仮想の印刷装置として登録可能であり、前記情報処理プログラムは、前記印刷ソフトウェアに前記仮想の印刷装置として登録されたとき、前記情報処理装置の演算部に対し、前記印刷装置における印刷設定可能な範囲である印刷設定範囲をアプリケーションごとに管理する印刷設定範囲管理情報を取得する印刷設定範囲管理情報取得処理と、取得した前記印刷設定範囲管理情報に基づき、前記情報処理装置で使用されているアプリケーションのアプリ識別情報を前記情報処理装置に取得させる第2命令を前記印刷ソフトウェアに送信する第2命令送信処理と、前記第2命令に応じて取得される前記アプリ識別情報に基づき前記情報処理装置で使用されているアプリケーションの印刷設定範囲を前記情報処理装置に特定させる印刷設定範囲特定情報を前記印刷ソフトウェアに送信する設定範囲特定情報送信処理と、前記印刷ソフトウェアから前記第2命令と前記印刷設定範囲特定情報に応じた印刷設定の第1印刷データを取得する印刷データ取得処理と、前記印刷データ取得処理で取得した前記第1印刷データに基づく第2印刷データを前記印刷装置へ向けて送信する印刷データ送信処理と、を実行するよう構成されている。
本願発明の情報処理プログラムを実行する演算部は、印刷設定範囲管理情報取得処理で、印刷装置の印刷設定範囲をアプリケーションごとに管理するための印刷設定範囲管理情報を取得する。演算部は、取得した印刷設定範囲管理情報に基づき、第2命令送信処理で、情報処理装置で使用されているアプリケーションのアプリ識別情報を情報処理装置に取得させる第2命令を印刷ソフトウェアに送信する。
演算部は、設定範囲特定情報送信処理で、第2命令に応じて取得されるアプリ識別情報に基づき情報処理装置で使用されているアプリケーションの印刷設定範囲を情報処理装置に特定させる印刷設定範囲特定情報を印刷ソフトウェアに送信する。演算部は、印刷データ取得処理で、印刷ソフトウェアから第2命令と印刷設定範囲特定情報に応じた印刷設定の第1印刷データを取得する。演算部は、印刷データ取得処理で取得した第1印刷データに基づく第2印刷データを、印刷データ送信処理にて印刷装置へ向けて送信する。
上記の結果、本願発明によれば、アプリケーションごとの個別の印刷設定の内容に応じた印刷を実行することができる。したがって、例えば仮想の印刷装置に対し汎用のアプリケーションを介して印刷を実行する場合で、複数のアプリケーションが存在する場合に、別のアプリケーションの印刷設定の内容が残っていたとしても、当該アプリケーション固有の印刷設定に切り替えることができ、利便性を向上できる。
演算部は、設定範囲特定情報送信処理で、第2命令に応じて取得されるアプリ識別情報に基づき情報処理装置で使用されているアプリケーションの印刷設定範囲を情報処理装置に特定させる印刷設定範囲特定情報を印刷ソフトウェアに送信する。演算部は、印刷データ取得処理で、印刷ソフトウェアから第2命令と印刷設定範囲特定情報に応じた印刷設定の第1印刷データを取得する。演算部は、印刷データ取得処理で取得した第1印刷データに基づく第2印刷データを、印刷データ送信処理にて印刷装置へ向けて送信する。
上記の結果、本願発明によれば、アプリケーションごとの個別の印刷設定の内容に応じた印刷を実行することができる。したがって、例えば仮想の印刷装置に対し汎用のアプリケーションを介して印刷を実行する場合で、複数のアプリケーションが存在する場合に、別のアプリケーションの印刷設定の内容が残っていたとしても、当該アプリケーション固有の印刷設定に切り替えることができ、利便性を向上できる。
本発明によれば、仮想の印刷装置を介した印刷の実行時において、ユーザごと又はアプリケーションごとの印刷設定を可能とし利便性を向上できる。
<実施形態>
本発明の一実施形態を図面を参照しつつ説明する。
本発明の一実施形態を図面を参照しつつ説明する。
<印刷システムの概要>
図1に、本実施形態に係る印刷システム1のシステム構成の一例を示す。図1において、印刷システム1は、端末装置100と、プリンタ200と、を有している。端末装置100とプリンタ200は、例えばインターネット、有線LAN又は無線LAN等を介して通信可能に接続されている。なお、端末装置100が情報処理装置の一例であり、プリンタ200が印刷装置の一例である。
図1に、本実施形態に係る印刷システム1のシステム構成の一例を示す。図1において、印刷システム1は、端末装置100と、プリンタ200と、を有している。端末装置100とプリンタ200は、例えばインターネット、有線LAN又は無線LAN等を介して通信可能に接続されている。なお、端末装置100が情報処理装置の一例であり、プリンタ200が印刷装置の一例である。
<端末装置の機能構成>
端末装置100は、プリンタ200に印刷データを送信して印刷を実行させる。端末装置100は、例えばデスクトップ型PC、ノート型PC、タブレットコンピュータ等であるが、スマートフォン等の携帯端末でもよい。詳細は後述するが、端末装置100はプロセッサ110と、各種の印刷処理プログラムを記憶した記憶装置115と、を有する(後述の図10参照)。プロセッサ110が各種の印刷処理プログラムを実行することで、端末装置100は図1に示す機能構成を有する。なお、以降の記載において、プログラムが***するとの記載がされることがあるが、プログラムがプロセッサ110により実行されることで***の処理が実行されるという意味である。
端末装置100は、プリンタ200に印刷データを送信して印刷を実行させる。端末装置100は、例えばデスクトップ型PC、ノート型PC、タブレットコンピュータ等であるが、スマートフォン等の携帯端末でもよい。詳細は後述するが、端末装置100はプロセッサ110と、各種の印刷処理プログラムを記憶した記憶装置115と、を有する(後述の図10参照)。プロセッサ110が各種の印刷処理プログラムを実行することで、端末装置100は図1に示す機能構成を有する。なお、以降の記載において、プログラムが***するとの記載がされることがあるが、プログラムがプロセッサ110により実行されることで***の処理が実行されるという意味である。
図1に示すように、端末装置100は、OS(Operating System)101と、OSの印刷機能に対応したアプリケーション102と、プリンタアプリケーション170と、ブラウザ104と、設定エディタ106と、を有する。OS101は、プリンタベンダが提供するプリンタドライバを用いることなく所定の印刷規格に従って印刷を行う、いわゆるドライバレスの印刷機能を有する。
OS101は、一例として、OS用のモジュール化された印刷システムであるCUPS(Common Unix Printing System)160を有する。なお、OS101がオペレーティングシステムの一例であり、CUPS160が印刷ソフトウェアの一例である。印刷ソフトウェアはOS101に標準に組み込まれているものであってよい。
<CUPS>
CUPS160は、HTTPサーバ161と、CUPSPnP管理部162と、IPPクライアント163と、印刷データスケジューラ&スプーラ164と、を有する。
CUPS160は、HTTPサーバ161と、CUPSPnP管理部162と、IPPクライアント163と、印刷データスケジューラ&スプーラ164と、を有する。
HTTPサーバ161はCUPS160上で動作するサーバソフトウェアである。HTTPサーバ161は、ブラウザ104を介してHTTP(Hypertext Transfer Protocol)プロトコルを用いて情報や機能を取得、又は、それらに対して情報や機能を提供する。
CUPSPnP管理部162は、mDNS/SDなどのプロトコルを用いて検出されたプリンタ(仮想印刷装置を含む)をCUPS160に登録して印刷キューを作成するPnP(Plug and Play)機能をもつ。
CUPSPnP管理部162は、mDNS/SDなどのプロトコルを用いて検出されたプリンタ(仮想印刷装置を含む)をCUPS160に登録して印刷キューを作成するPnP(Plug and Play)機能をもつ。
CUPS160はPPD(PostScript Printer Description)ファイルをインストールすることによりプリンタに対してプリンタアプリケーション170を介すことなく汎用的な印刷ができるが、本実施例ではこの機能は使用しない。本実施例ではプリンタアプリケーション170を介して印刷することを前提としており、プリンタアプリケーション170がインストールされると前記PnP機能によりプリンタアプリケーション170をIPP(Internet Printing Protocol)に対応した仮想的なプリンタとして認識する。そしてプリンタアプリケーション170より送信されたIPPアトリビュートをもとにPPD(後述するプリンタアプリケーション170にインストールされるPPDファイルと区別するため以後CUPS160の内部PPDと称する)を生成し、CUPS160にPPDファイルがインストールされたのと同等に振る舞う。
CUPSPnP管理部162は、プリンタアプリケーション170のインストール時に実行されるスクリプトにより、PnPのための検索アドレスが端末装置100の内部ネットワーク(通常はIPアドレス127.0.0.1)に制限されるよう設定変更される。このためCUPS160は直接プリンタ200を認識することはできず、プリンタアプリケーション170をプリンタとして認識する。プリンタアプリケーション170は現実のプリンタではなく、CUPS160に対しプリンタとしてふるまういわゆる仮想プリンタである。プリンタアプリケーション170はCUPS160とプリンタ200を仲介することで、CUPS160とプリンタ200を用いた印刷が実現される。
IPPクライアント163は、後述するIPP/mDNSサーバ173との間で、IPPプロトコルを用いて印刷データまたはアトリビュートを送受信する。
印刷データスケジューラ&スプーラ164は、アプリケーション102等から送信された印刷ジョブを管理すると共に、同時に発生した複数の印刷ジョブを一時的にせき止め順次処理を進めてIPPクライアント163に受け渡すように管理する。
印刷データスケジューラ&スプーラ164は、アプリケーション102等から送信された印刷ジョブを管理すると共に、同時に発生した複数の印刷ジョブを一時的にせき止め順次処理を進めてIPPクライアント163に受け渡すように管理する。
<プリンタアプリケーション>
プリンタアプリケーション170は、接続されているプリンタ200に対応する仮想プリンタとして、CUPS160に登録可能である。CUPS160は、プリンタアプリケーション170を仮想のプリンタとして取り扱い、印刷に係わる各種の処理を実行する。各種の処理には、例えば能力情報取得処理や印刷データ送信処理等が含まれる。プリンタアプリケーション170は、プリンタ通信部171と、アトリビュート/mDNS変換部172と、IPP/mDNSサーバ173と、印刷データ変換部174と、印刷設定記憶部175と、を有する。プリンタアプリケーション170が情報処理プログラムの一例である。本実施例のプリンタアプリケーション170は、対応プリンタの追加時にプリンタ毎に用意されたPPDファイルを追加登録するretofitタイプのものである。
プリンタアプリケーション170は、接続されているプリンタ200に対応する仮想プリンタとして、CUPS160に登録可能である。CUPS160は、プリンタアプリケーション170を仮想のプリンタとして取り扱い、印刷に係わる各種の処理を実行する。各種の処理には、例えば能力情報取得処理や印刷データ送信処理等が含まれる。プリンタアプリケーション170は、プリンタ通信部171と、アトリビュート/mDNS変換部172と、IPP/mDNSサーバ173と、印刷データ変換部174と、印刷設定記憶部175と、を有する。プリンタアプリケーション170が情報処理プログラムの一例である。本実施例のプリンタアプリケーション170は、対応プリンタの追加時にプリンタ毎に用意されたPPDファイルを追加登録するretofitタイプのものである。
プリンタ通信部171は、プリンタ200との間で通信を行う。プリンタ通信部171は、プリンタ200から能力情報を受信したり、プリンタ200に対して印刷データを送信する。このプリンタ通信部とプリンタとの通信はネットワーク、USBなどによりなされる。ネットワークの場合はIPP,LPDなどのプロトコルが用いられる。また能力情報はIPPプロトコルの場合はIPPアトリビュート、USBなどの他のインタフェースやプロトコルの場合はPJL情報などが使用される。
アトリビュート/mDNS変換部172は、プリンタ200の能力を表す能力情報をプリンタ通信部171を介して取得する。アトリビュート/mDNS変換部172は、プリンタ200から取得した能力情報を、CUPS160が取り扱うことのできる印刷機能に応じたIPPアトリビュートに変換する。具体的には、IPPアトリビュート/mDNS変換部172は、印刷設定記憶部175から、プリンタ200における印刷設定可能な範囲である印刷設定範囲をユーザごと及びアプリケーション102ごとに管理するPPDファイルを読み込み、CUPS160が取り扱うことのできる印刷機能に応じたIPPアトリビュートに変換する。
なお、アトリビュート/mDNS変換部172は、mDNS(multicast Domain Name System)の機能を有する。mDNSは、ローカルネットワーク内でDNSの問い合わせをIP(Internet Protocol)マルチキャストで一斉配信し、同じネットワークのすべての機器に同時に問い合わせを行う。問い合わせを受信した機器は、自分のIPアドレスを送信して応答する。
印刷設定記憶部175には、プリンタ200における印刷設定可能な範囲である印刷設定範囲をユーザごと及びアプリケーション102ごとに管理するPPDファイルが記憶されている。PPDファイルには、設定対象となる全てのユーザ及び全てのアプリケーション102に対する印刷設定範囲が含まれている。当該PPDファイルが印刷設定範囲管理情報の一例である。印刷設定範囲には、例えば用紙サイズ、印字モード、用紙タイプ等の設定項目が含まれる。印刷設定範囲は、印刷設定画面DB6(後述の図5参照)においてユーザごと及びアプリケーション102ごとに設定される。印刷設定画面DB6は、上記PPDファイルを編集するための設定アプリケーションである設定エディタ106によりブラウザ104を介して表示部140(後述の図10参照)に表示される。なお、印刷設定画面DB6は、設定エディタ106によりブラウザ104を介さずに表示部140に表示されてもよい。設定エディタ106は、プリンタアプリケーション170による設定アプリケーション起動処理により起動される。プリンタアプリケーション170のHTTPサーバ176は、印刷設定画面DB6において設定された印刷設定範囲を取得する。プリンタアプリケーション170は、取得した印刷設定範囲に基づいてPPDファイルを作成し、印刷設定記憶部175に記憶させる。印刷設定記憶部175は、例えば端末装置100の記憶装置115の不揮発性記憶装置130のデータ記憶領域132の一部領域である(後述の図10参照)。なお、PPDファイルは端末装置100に限らず外部端末において編集されてもよいし、予め設定された内容がプリンタアプリケーション170にインストールされていてもよい。
IPP/mDNSサーバ173は、CUPS160の能力情報取得処理に対し、アトリビュート/mDNS変換部172で変換されたアトリビュートをCUPS160へ向けて出力する。CUPS160は、IPPクライアント163により変換されたアトリビュートに対応した印刷データを出力する。IPP/mDNSサーバ173は、CUPS160の印刷データ送信処理に対し、CUPS160から出力された、変換されたアトリビュートに対応した印刷データを取得し、印刷データ変換部174に出力する。なお、IPP/mDNSサーバ173は、アトリビュート/mDNS変換部172と同様にmDNSの機能を有する。
印刷データ変換部174は、IPP/mDNSサーバ173を介しCUPS160から印刷データを取得する。印刷データ変換部174は、IPP/mDNSサーバ173を介しCUPS160から端末装置100を使用しているユーザを特定するためのユーザ情報を取得する。ユーザ情報は例えばログインユーザ名等である。また印刷データ変換部174は、IPP/mDNSサーバ173を介しCUPS160から端末装置100で使用されているアプリケーション102を特定するためのアプリ情報を取得する。アプリ情報は例えば印刷ジョブに含まれるアプリ名等である。印刷データ変換部174は、印刷設定記憶部175からPPDファイルを取得し、取得したPPDファイルと、上記ユーザ情報及びアプリ情報とに基づき、端末装置100を使用しているユーザ及び使用されているアプリケーション102に応じた印刷設定範囲を決定する。印刷データ変換部174は、CUPS160から取得した印刷データを、上記決定した印刷設定範囲に基づいた印刷データに変換する。印刷データ変換部174は、変換した印刷データをプリンタ通信部171に出力する。印刷データ変換部174がCUPS160から取得した印刷データが第1印刷データの一例であり、印刷設定範囲に基づき変換された印刷データが第2印刷データの一例である。なお、第2印刷データは第1印刷データそのままであってもよい。
プリンタ通信部171は、印刷データ変換部174から出力された印刷データをプリンタ200に対して送信する。
<本実施形態の特徴>
従来のプリンタアプリケーション170においては、複数のユーザが1つのプリンタアプリケーション170を共有する際に、前のユーザが使用した印刷設定が残った状態のままとなる。
従来のプリンタアプリケーション170においては、複数のユーザが1つのプリンタアプリケーション170を共有する際に、前のユーザが使用した印刷設定が残った状態のままとなる。
また、従来のプリンタアプリケーション170では、複数のアプリケーション102が存在する際に、前に使用されたアプリケーション102による印刷設定が残った状態のままとなる。
本実施形態では、プリンタ200の印刷設定範囲を端末装置100を使用するユーザごと及び端末装置100において使用されるアプリケーション102ごとに管理するためのPPDファイルが、予め記憶されている。当該PPDファイルに含まれるユーザ及びアプリケーション102ごとの印刷設定範囲は、設定エディタ106を用いて編集することができる。印刷設定範囲の編集は、各ユーザが自分で設定してもよいし、例えば管理者が全ユーザ分を設定してもよい。
プリンタアプリケーション170は、CUPS160の要求に応じて、上記PPDファイルに基づき変換したアトリビュートをCUPS160へ向けて出力する。プリンタアプリケーション170は、上記アトリビュートに対応してCUPS160から出力された印刷データを受信する。そしてプリンタアプリケーション170は、CUPS160から取得した印刷データを、必要に応じてユーザ名及びアプリ名に応じた印刷設定範囲に基づいた印刷データに変換し、変換した印刷データをプリンタ200に向けて送信する。
これにより、ユーザごとの個別の印刷設定の内容に応じた印刷を実行することができる。したがって、例えば複数のユーザがプリンタアプリケーション170を共有する場合でも、前のユーザの印刷設定の内容を現在のユーザ固有の印刷設定に切り替えることができ、利便性を向上できる。同様に、例えばプリンタアプリケーション170に対し複数のアプリケーション102を介して印刷を実行する場合に、別のアプリケーション102の印刷設定の内容を現在使用中のアプリケーション固有の印刷設定に切り替えることができ、利便性を向上できる。以下、この詳細について説明する。
<プリンタアプリケーションおよび設定エディタによる画面表示>
図2~図5に、プリンタアプリケーション170又は設定エディタ106による画面表示の一例を示す。なお、ここでは管理者が印刷設定範囲を設定する場合について説明するが、上述したように各ユーザが自分で設定してもよい。
図2~図5に、プリンタアプリケーション170又は設定エディタ106による画面表示の一例を示す。なお、ここでは管理者が印刷設定範囲を設定する場合について説明するが、上述したように各ユーザが自分で設定してもよい。
図2(a)~図2(d)に、印刷設定範囲を設定するためにPPDファイルを編集する際に、プリンタアプリケーション170により端末装置100の表示部140に表示される画面の一例を示す。図2(a)は、管理者認証画面DB1である。この画面DB1は、例えば、プリンタアプリケーション170の所定のURLにアクセスすることで、或いは編集用のアイコンをクリックすることで表示される。なお、画面DB1はプリンタアプリケーション170がアプリケーション102上でプリンタとして選択されたときに表示されてもよい。管理者認証画面DB1には、パスワードを入力するためのパスワード入力部PIと、OKボタンB1と、キャンセルボタンB2とが表示されている。パスワード入力部PIにパスワードが入力されてOKボタンB1が操作されると、パスワードの認証が実行される。管理者認証画面DB1においてパスワードの認証が成功すると、図2(b)に移行する。
図2(b)は、印刷設定範囲を設定する対象を選択するための対象選択画面DB2である。対象選択画面DB2には、ユーザ名を選択するためのユーザ名選択部USと、アプリケーション名を選択するためのアプリ名選択部ASと、OKボタンB1と、キャンセルボタンB2と、削除ボタンB3と、が表示されている。対象選択画面DB2においてユーザ名選択部USが操作されると、図2(c)に示すようにユーザ名選択部USの下部にプルダウンメニューPM1が表示される。なお、ここでいうユーザ名は印刷時にJOBオーナーとして指定される使用者名であり、通常は印刷操作者のログイン名である。
図2(c)のプルダウンメニューPM1において特定のユーザ名が選択された状態で、対象選択画面DB2のOKボタンB1が操作されると、当該ユーザ名の選択が確定されてユーザ名選択部USに表示される。プルダウンメニューPM1において特定のユーザ名が選択された状態で、対象選択画面DB2の削除ボタンB3が操作されると、当該ユーザ名がプルダウンメニューPM1から削除される。プルダウンメニューPM1において「新規」が選択された状態で、対象選択画面DB2のOKボタンB1が操作されると、図2(d)に移行する。
図2(d)は、印刷設定範囲の設定対象に新たなユーザを追加するための新規ユーザ画面DB3である。新規ユーザ画面DB3には、新たなユーザ名を入力するためのユーザ名入力部UIと、OKボタンB1と、キャンセルボタンB2とが表示されている。新規ユーザ画面DB3においてユーザ名が入力された状態でOKボタンB1が操作されると、当該ユーザ名がプルダウンメニューPM1に追加される。その後、例えば図2(b)に示す対象選択画面DB2に戻る。
図3(a)及び図3(b)に、PPDファイルに新たなアプリケーション102を追加する際に、プリンタアプリケーション170により端末装置100の表示部140に表示される画面の一例を示す。
図2(b)に示す対象選択画面DB2においてアプリ名選択部ASが操作されると、図3(a)に示すようにアプリ名選択部ASの下部にプルダウンメニューPM2が表示される。
図3(a)のプルダウンメニューPM2において特定のアプリ名が選択された状態で、対象選択画面DB2のOKボタンB1が操作されると、当該アプリ名の選択が確定されてアプリ名選択部ASに表示される。プルダウンメニューPM2において特定のアプリ名が選択された状態で、対象選択画面DB2の削除ボタンB3が操作されると、当該アプリ名がプルダウンメニューPM2から削除される。プルダウンメニューPM2において「新規」が選択された状態で、対象選択画面DB2のOKボタンB1が操作されると、図3(b)に移行する。
図3(b)は、印刷設定範囲の設定対象に新たなアプリケーション102を追加するための新規アプリ画面DB4である。新規アプリ画面DB4には、新たなアプリ名を入力するためのアプリ名入力部AIと、OKボタンB1と、キャンセルボタンB2とが表示されている。新規アプリ画面DB4においてアプリ名が入力された状態でOKボタンB1が操作されると、当該アプリ名がプルダウンメニューPM2に追加される。その後、例えば図2(b)に示す対象選択画面DB2に戻る。
図4(a)及び図4(b)に、PPDファイルに新たな印刷設定を追加する際に、プリンタアプリケーション170により端末装置100の表示部140に表示される画面の一例を示す。
図2(b)に示す対象選択画面DB2において、ユーザ名選択部USによるユーザ名の選択及びアプリ名選択部ASによるアプリ名の選択が完了すると、例えば図4(a)に示す印刷設定選択画面DB5が表示される。印刷設定選択画面DB5には、印刷設定を選択するための印刷設定選択部PSと、OKボタンB1と、キャンセルボタンB2と、削除ボタンB3と、が表示されている。印刷設定画面DB6において印刷設定選択部PSが操作されると、図4(b)に示すように印刷設定選択部PSの下部にプルダウンメニューPM3が表示される。
図4(b)のプルダウンメニューPM3において特定の印刷設定が選択された状態で、印刷設定選択画面DB5のOKボタンB1が操作されると、選択されたユーザ名及びアプリ名に対する印刷設定が確定され、関連付けられて記憶される。プルダウンメニューPM3において特定の印刷設定が選択された状態で、印刷設定選択画面DB5の削除ボタンB3が操作されると、当該印刷設定がプルダウンメニューPM3から削除される。プルダウンメニューPM3において「新規」が選択された状態で、印刷設定選択画面DB5のOKボタンB1が操作されると、設定エディタ106が起動され、設定エディタ106により図5に示す印刷設定画面DB6が表示される。
図5は、ユーザごと及びアプリケーション102ごとに印刷設定範囲を設定するための印刷設定画面DB6である。図5に示す例は、図2(c)のプルダウンメニューPM1にてユーザAが選択され、図3(a)のプルダウンメニューPM2にてアプリ2が選択され、図4(b)のプルダウンメニューPM3にて新規(印刷設定4が追加)が選択された状態での印刷設定画面DB6である。そして、この印刷設定画面DB6によりユーザAがアプリ2を使用する場合の印刷設定範囲である印刷設定4が設定される。印刷設定画面DB6には、印刷設定範囲を適用するドキュメント名を入力するためのドキュメント名入力部DIと、用紙サイズの印刷設定範囲を設定するための用紙サイズ範囲設定部SSと、印字モードの印刷設定範囲を設定するための印字モード範囲設定部MSと、用紙タイプの印刷設定範囲を設定するための用紙タイプ範囲設定部TSと、透かし文字を入力するための透かし文字入力部TIと、OKボタンB1と、キャンセルボタンB2と、が表示されている。
ドキュメント名入力部DIは、印刷設定画面DB6で設定された印刷設定範囲を適用する対象を、印刷データのドキュメント名により特定する。図5に示す例では、印刷データがドキュメント名入力部DIに入力されたテキストを含むドキュメント名である場合に、印刷設定画面DB6で設定された印刷設定範囲が適用される。なお、空欄の場合はすべてのドキュメント名が対象になる。また、このドキュメント名の指定には正規表現による記載が可能である。例えば「^請求書[0-9][0-9][0-9][0-9]」とある場合「請求書0000」-「請求書9999」で始まるドキュメント名が対象になる。
用紙サイズ範囲設定部SS、印字モード範囲設定部MS及び用紙タイプ範囲設定部TSでは、用紙サイズ、印字モード、用紙タイプの印刷設定範囲がそれぞれ設定される。例えば、丸記号が入力された項目がデフォルトとして設定され、チェック記号が入力された項目が選択可能として設定され、記号が入力されていない項目は選択不能として設定される。図5に示す例では、ユーザAがアプリ2を使用する場合、用紙サイズはA4がデフォルトとなり、A5が選択可能となり、A3及びLegalが選択不能となる。また、印字モードはモノクロが選択可能となり、カラーは選択不能となる。また、用紙タイプは再生紙がデフォルトとなり、普通紙は選択可能となる。なお、上記以外の項目を設定可能としてもよい。
透かし文字入力部TIに文字が入力された場合、当該文字が印刷用紙に透かし文字で印刷される。透かし文字入力部TIに文字が入力されていない場合、透かし文字は印刷されない。OKボタンB1が操作されると、印刷設定画面DB6で設定された印刷設定範囲と、選択されたユーザ名及びアプリ名とが関連付けられてプリンタアプリケーション170に渡される。そして、プリンタアプリケーション170は後述するPPDファイルの作成を行う。図4(b)のプルダウンメニューPM3において「新規」以外の設定、すなわちすでに存在する設定が選択された状態で、印刷設定選択画面DB5のOKボタンB1が操作されると、設定エディタ106が起動され、設定エディタ106により図5と同様な印刷設定編集画面(不図示)を表示して設定変更を受け付ける。そしてプリンタアプリケーション170は設定変更された結果を反映したPPDファイルの作成を行う。
<制御手順>
ユーザ及びアプリケーション102ごとの個別の印刷設定範囲に応じた印刷を実行するために、プリンタアプリケーション170又はアプリケーション102により実行される制御手順を、図6~図9のフローチャートにより説明する。
ユーザ及びアプリケーション102ごとの個別の印刷設定範囲に応じた印刷を実行するために、プリンタアプリケーション170又はアプリケーション102により実行される制御手順を、図6~図9のフローチャートにより説明する。
図6に、プリンタアプリケーション170がPPDファイルを作成する際に実行する制御手順の一例を示す。
図6に示すように、ステップS10では、プリンタアプリケーション170は、PPDファイルにおける定型事項を記述する。定型事項としては、例えば、PPDファイルのバージョン名、言語設定、等を含む。
ステップS20では、プリンタアプリケーション170は、上述した設定エディタ106により設定されたユーザ及びアプリごとの印刷設定範囲を、排他事項として記述する。例えば図5に示した例では、ユーザA及びアプリ2に対し、用紙サイズではA3及びLegalが排他事項として記述され、印字モードではカラーが排他事項として記述され、用紙タイプでは排他事項は記述されない。
ステップS30では、プリンタアプリケーション170は、印刷設定範囲の設定対象となる全てのユーザ名を記述し、当該全てのユーザ名から1つのユーザ名をユーザに選択させる記述をする。
ステップS40では、プリンタアプリケーション170は、印刷設定範囲の設定対象となる全てのアプリ名を記述し、当該全てのアプリ名から1つのアプリ名をユーザに選択させる記述をする。
ステップS50では、プリンタアプリケーション170は、印刷設定範囲の設定対象となる設定項目を記述する。設定項目には、例えば前述の用紙サイズ、印字モード、用紙タイプ等が含まれる。
ステップS60では、プリンタアプリケーション170は、印刷設定範囲の設定対象となる全ての設定項目を記述したか否かを判定する。プリンタアプリケーション170は、全ての設定項目を記述していないと判定した場合には(ステップS60:No)、上記ステップS50に戻る。一方、プリンタアプリケーション170は、全ての出力項目を記述したと判定した場合には(ステップS60:Yes)、次のステップS70に処理を移す。
ステップS70では、プリンタアプリケーション170は、フォント情報を記述する。以上により、本フローチャートを終了する。
図7に、プリンタアプリケーション170がCUPS160のアトリビュート要求に応答する際に実行する制御手順の一例を示す。PPDファイルは印刷設定範囲管理情報の一例であり、PPDファイルの作成は印刷設定範囲管理情報取得処理の一例である。なお、PPDファイルは管理者用の情報処理装置等の外部で作成されたものを、ネットワーク経由で、或いはリムーバブル記憶媒体を経て印刷設定記憶部175に記憶されたものでもよい。この場合、印刷設定記憶部175からPPDファイルを読み出す処理が印刷設定範囲管理情報取得処理の一例である。
図7に示すように、ステップS110では、プリンタアプリケーション170のアトリビュート/mDNS変換部172は、印刷設定記憶部175からPPDファイルを取得し、PPDファイルに基づいてIPPアトリビュートを生成する。このとき、プリンタアプリケーション170は、アプリケーション102にてユーザによるユーザ名の選択を受け付けるよう(後述のステップS220参照)、CUPS160の内部PPDの基となるIPPアトリビュートにもステップS30のユーザ選択部記述を引継ぐ。このIPPアトリビュートは第1命令の一例である。プリンタアプリケーション170は、アプリケーション102にてユーザによるアプリ名の選択を受け付けるよう(後述のステップS230参照)、CUPS160の内部PPDの基となるIPPアトリビュートにもステップS40のアプリケーション選択部記述を引継ぐ。このIPPアトリビュートは第2命令の一例である。ユーザ名はユーザ識別情報の一例であり、また、アプリ名はアプリ識別情報の一例である。
ステップS120では、プリンタアプリケーション170のアトリビュート/mDNS変換部172は、CUPS160からのアトリビュート要求に応じて、上記ステップS110で生成したPPDファイルに基づくIPPアトリビュートをCUPS160へ向けて出力する。上記アトリビュート要求が能力情報の要求の一例である。以上により、本フローチャートを終了する。ステップS110及びステップS120でユーザ名の選択を受け付けさせるようなIPPアトリビュートをCUPS160へ向けて出力する処理は第1命令送信処理の一例である。ステップS110及びステップS120でアプリ名の選択を受け付けさせるようなIPPアトリビュートをCUPS160へ向けて出力する処理は第2命令送信処理の一例である。
図8に、アプリケーション102を使用しているユーザが印刷実行時に印刷操作を実行するための制御手順の一例を示す。
図8に示すように、ステップS210では、アプリケーション102は、印刷するプリンタを選択する選択操作を受け付ける。
ステップS215では、アプリケーション102はステップS210で選択されたプリンタに対応するCUPS160の内部PPDに基づき設定画面を生成して表示する。この内部PPDは図6にて生成されたPPDファイルの情報をもとに生成されたIPPアトリビュートを再度PPD化したものである。この内部PPDは図6にて生成されたPPDファイルのユーザ選択情報、アプリケーション選択情報、排他事項を含んでいる。これらの情報により通常の印刷設定の他にユーザ選択メニュー(ステップS30の処理によってPPDファイルに記述された内容)およびアプリケーション選択メニュー(ステップS40の処理によってPPDファイルに記述された内容)が表示される。
ユーザはユーザ選択メニューにて自身のユーザ名を選択する(S220)。次にユーザは使用しているアプリケーション名をアプリケーション選択メニューより選択する。この際にユーザは、前記図6のステップS20にて記述されたCUPS160の内部PPDの排他事項に基づき許可されたアプリケーションのみが可視化されて選択できる。
上記ユーザとアプリケーションが設定されると、アプリケーションはステップS240にて前記図6のステップS20にて記述されたPPDファイルの排他事項に基づき、そのユーザとアプリケーションの組み合わせにて許可された設定のみをのこし、他の設定を不可視として設定できなくする。
そして、ユーザは設定可能な範囲にて印刷設定を行う(S250)。
なお、ここでは説明の便宜上このような順番で説明したが、実際には排他事項に応じて設定画面の各項目の可視・不可視を決定しているだけであり、どの設定を先におこなってもよい。その場合、たとえば印刷モード=カラーを選択した場合は、そのユーザがカラー印刷を許可しない排他事項となっている場合はユーザに自身のユーザ名が選択できなくなることにより、自身にカラーで印刷する権限がないことを知ることになる。
なお、ユーザはこの処理において自分自身以外のユーザ名や使用しているアプリケーション以外のアプリケーションも選択することができるが、後述の処理により印刷は阻止される。
なお、本実施形態では、CUPS160は内部PPDを有するがこれに限らない。CUPS160やアプリケーション102が同様に動作すれば他の形式の情報としてCUPS160が有するようにしてもよい。
なお、ここでは説明の便宜上このような順番で説明したが、実際には排他事項に応じて設定画面の各項目の可視・不可視を決定しているだけであり、どの設定を先におこなってもよい。その場合、たとえば印刷モード=カラーを選択した場合は、そのユーザがカラー印刷を許可しない排他事項となっている場合はユーザに自身のユーザ名が選択できなくなることにより、自身にカラーで印刷する権限がないことを知ることになる。
なお、ユーザはこの処理において自分自身以外のユーザ名や使用しているアプリケーション以外のアプリケーションも選択することができるが、後述の処理により印刷は阻止される。
なお、本実施形態では、CUPS160は内部PPDを有するがこれに限らない。CUPS160やアプリケーション102が同様に動作すれば他の形式の情報としてCUPS160が有するようにしてもよい。
図9に、プリンタアプリケーション170がCUPS160から印刷要求があった際に実行する制御手順の一例を示す。
図9に示すように、ステップS310では、プリンタアプリケーション170は、CUPS160から出力された印刷ジョブ名を取得する。印刷ジョブ名は通常印刷に用いられたアプリ名、および印刷ファイル名などを規則に基づき組み合わせた名称になっており、その名称からアプリ名を特定することができる。アプリ名は、例えば半角のアルファベット文字列等からなる。アプリ名がアプリ情報の一例である。すなわち、当該ステップS310では、プリンタアプリケーション170は、OS101のCUPS160から、端末装置100で使用されているアプリケーション102を特定するためのアプリ情報を取得する。なお、アプリ情報とアプリ識別情報とは同一でもよいし、異なっていてもよい。例えばアプリ識別情報には、漢字又はカタカナ等の全角文字列からなる端末装置100にインストール済のアプリ名や、その他のアプリを識別可能な情報が含まれてもよい。当該ステップS310がアプリ特定処理の一例である。
ステップS320では、プリンタアプリケーション170は、印刷ジョブの所有者となるユーザ名を取得する。通常これは印刷に用いたアプリケーションを起動したユーザのログイン名である。ユーザ名は、例えば半角のアルファベット文字列等からなる。ログインユーザ名等のユーザ名がユーザ情報の一例である。すなわち、当該ステップS320では、プリンタアプリケーション170は、OS101のCUPS160から、端末装置100を使用しているユーザを特定するためのユーザ情報を取得する。なお、ユーザ情報とユーザ識別情報とは同一でもよいし、異なっていてもよい。例えばユーザ識別情報には、漢字又はカタカナ等の全角文字列からなるユーザ名や、その他のユーザを識別可能な情報が含まれてもよい。当該ステップS320がユーザ特定処理の一例である。
ステップS330では、プリンタアプリケーション170は、CUPS160からの印刷データを取得する。この印刷データは印刷の画像データとステップS250で設定された印刷設定データからなる。当該ステップS330で取得する印刷データが第1印刷データの一例であり、当該ステップS330が印刷データ取得処理の一例である。
ステップS340では、プリンタアプリケーション170は、印刷設定記憶部175からPPDファイルを読み込み、上記ステップS310で取得したアプリ名及び上記ステップS320で取得したユーザ名で設定される印刷設定範囲を特定する。すなわち、当該ステップS340では、上記PPDファイルと、上記ステップS310で取得したアプリ名及び上記ステップS320で取得したユーザ名と、に基づき、端末装置100を使用しているユーザ及び端末装置100で使用されているアプリケーション102に対応した印刷設定範囲が決定される。
ステップS350では、プリンタアプリケーション170は、上記ステップS330で取得した印刷データを、上記ステップS340で特定したPPDファイルのケーパビリティに合う形の印刷データに変換する。すなわち、当該ステップS350では、上記ステップS340で決定された印刷設定範囲に対応するように印刷データが変換される。当該ステップS350で変換された印刷データが第2印刷データの一例である。なお、印刷データ中の印刷設定データとS340で決定された印刷設定範囲が矛盾して変換できない場合は後述のステップS370にてエラーとする。
ステップS360では、プリンタアプリケーション170は、ステップS220で選択されたユーザ名とステップS230で選択されたアプリ名がそれぞれ正しいか否かを判定する。具体的には、ユーザー名に関しては、ステップS330で取得された印刷データ中の印刷設定データから抽出されたユーザ名(ステップS220で選択されたもの)がステップS320でCUPS160から取得されたJOB所有者のユーザ名と整合するかをみる。整合していればユーザ名は正しいと判定する。またアプリ名に関しては、ステップS330で取得された印刷データ中の印刷設定データから抽出されたアプリ名(ステップS230で選択されたもの)に対応したドキュメント名(すなわち、図5のドキュメント名入力部DIで入力されたドキュメント名)が、CUPS160から取得されたドキュメント名と整合するかをみる。整合していればアプリ名は正しいと判定する。また、ステップS330で取得された印刷データ中の印刷設定データから抽出されたアプリ名がステップS310で特定されたアプリ名と整合するかをみて、整合していればアプリ名は正しいと判断してもよい。ステップS360の処理は整合判定処理の一例である。
プリンタアプリケーション170は、上記ユーザ名及びアプリ名の少なくとも一方が正しくない場合には(ステップS360:No)、後述するステップS380を実行せずに、エラー処理を行って本フローチャートを終了する。一方、プリンタアプリケーション170は、上記ユーザ名及びアプリ名の両方が正しい場合には(ステップS360:Yes)、次のステップS370に処理を移す。
ステップS370では、プリンタアプリケーション170は、上記ステップS350における印刷データの変換ができなかったか否かを判定する。プリンタアプリケーション170は、印刷データの変換ができなかった場合には(ステップS370:Yes)、後述するステップS380を実行せずに、エラー処理を行って本フローチャートを終了する。一方、プリンタアプリケーション170は、印刷データの変換ができた場合には(ステップS370:No)、次のステップS380に処理を移す。
ステップS380では、プリンタアプリケーション170は、上記ステップS350で変換した印刷データをプリンタ200へ向けて送信する。当該ステップS380が印刷データ送信処理の一例である。以上により、本フローチャートを終了する。
<実施形態の効果>
本実施形態のプリンタアプリケーション170は、ステップS10~ステップS70で、プリンタ200の印刷設定範囲をユーザごとに管理するためのPPDファイルを取得する。プリンタアプリケーション170は、取得したPPDファイルに基づき、ステップS110及びステップS120で、端末装置100を使用しているユーザのユーザ名を端末装置100に取得させるIPPアトリビュートをCUPS160に送信する。
プリンタアプリケーション170は、ステップS110及びステップS120で、ステップS220にて取得されるユーザ名に基づき端末装置100を使用しているユーザの印刷設定範囲を端末装置100に特定させるIPPアトリビュートをCUPS160に送信する。プリンタアプリケーション170は、ステップS330で、出力したIPPアトリビュートに対応した印刷設定の印刷データをCUPS160から取得する。プリンタアプリケーション170は、ステップS330で取得した印刷データに基づき変換した印刷データを、ステップS380にてプリンタ200へ向けて送信する。
上記の結果、本実施形態によれば、ユーザごとの個別の印刷設定の内容に応じた印刷を実行することができる。したがって、例えば複数のユーザがプリンタアプリケーション170を共有する場合に、前のユーザの印刷設定の内容が残っていたとしても、当該ユーザ固有の印刷設定に切り替えることができ、利便性を向上できる。
本実施形態のプリンタアプリケーション170は、ステップS10~ステップS70で、プリンタ200の印刷設定範囲をユーザごとに管理するためのPPDファイルを取得する。プリンタアプリケーション170は、取得したPPDファイルに基づき、ステップS110及びステップS120で、端末装置100を使用しているユーザのユーザ名を端末装置100に取得させるIPPアトリビュートをCUPS160に送信する。
プリンタアプリケーション170は、ステップS110及びステップS120で、ステップS220にて取得されるユーザ名に基づき端末装置100を使用しているユーザの印刷設定範囲を端末装置100に特定させるIPPアトリビュートをCUPS160に送信する。プリンタアプリケーション170は、ステップS330で、出力したIPPアトリビュートに対応した印刷設定の印刷データをCUPS160から取得する。プリンタアプリケーション170は、ステップS330で取得した印刷データに基づき変換した印刷データを、ステップS380にてプリンタ200へ向けて送信する。
上記の結果、本実施形態によれば、ユーザごとの個別の印刷設定の内容に応じた印刷を実行することができる。したがって、例えば複数のユーザがプリンタアプリケーション170を共有する場合に、前のユーザの印刷設定の内容が残っていたとしても、当該ユーザ固有の印刷設定に切り替えることができ、利便性を向上できる。
また、本実施形態では特に、PPDファイルを作成する処理(図6)で、プリンタ200の印刷設定範囲をアプリケーション102ごとに管理するためのPPDファイルを取得する。プリンタアプリケーション170は、取得したPPDファイルに基づき、ステップS110及びステップS120で、端末装置100で使用されているアプリケーション102のアプリ名を端末装置100に取得させるIPPアトリビュートをCUPS160に送信する。
プリンタアプリケーション170は、ステップS110及びステップS120で、ステップS230にて取得されるアプリ名に基づき端末装置100で使用されているアプリケーション102の印刷設定範囲を端末装置100に特定させるIPPアトリビュートをCUPS160に送信する。プリンタアプリケーション170は、ステップS330で、出力したIPPアトリビュートに対応した印刷設定の印刷データをCUPS160から取得する。プリンタアプリケーション170は、ステップS330で取得した印刷データに基づき変換した印刷データを、ステップS380にてプリンタ200へ向けて送信する。
上記の結果、本実施形態によれば、アプリケーション102ごとの個別の印刷設定の内容に応じた印刷を実行することができる。したがって、例えばプリンタアプリケーション170に対しアプリケーション102を介して印刷を実行する場合で、複数のアプリケーション102が存在する場合に、別のアプリケーション102の印刷設定の内容が残っていたとしても、当該アプリケーション固有の印刷設定に切り替えることができ、利便性を向上できる。また、ユーザだけでなく、ユーザとアプリケーション102との組み合わせごとに決定された印刷設定の内容に応じた印刷を実行することができ、さらに利便性を向上できる。
プリンタアプリケーション170は、ステップS110及びステップS120で、ステップS230にて取得されるアプリ名に基づき端末装置100で使用されているアプリケーション102の印刷設定範囲を端末装置100に特定させるIPPアトリビュートをCUPS160に送信する。プリンタアプリケーション170は、ステップS330で、出力したIPPアトリビュートに対応した印刷設定の印刷データをCUPS160から取得する。プリンタアプリケーション170は、ステップS330で取得した印刷データに基づき変換した印刷データを、ステップS380にてプリンタ200へ向けて送信する。
上記の結果、本実施形態によれば、アプリケーション102ごとの個別の印刷設定の内容に応じた印刷を実行することができる。したがって、例えばプリンタアプリケーション170に対しアプリケーション102を介して印刷を実行する場合で、複数のアプリケーション102が存在する場合に、別のアプリケーション102の印刷設定の内容が残っていたとしても、当該アプリケーション固有の印刷設定に切り替えることができ、利便性を向上できる。また、ユーザだけでなく、ユーザとアプリケーション102との組み合わせごとに決定された印刷設定の内容に応じた印刷を実行することができ、さらに利便性を向上できる。
また、本実施形態では特に、ステップS110及びステップS120では、プリンタアプリケーション170は、印刷設定範囲の設定対象となる全てのユーザ名を記述し、当該全てのユーザ名から1つのユーザ名をユーザに選択させるように記述したIPPアトリビュートをCUPS160に送信する。これにより、端末装置100を使用しているユーザにユーザ名を選択させることができる。
また、本実施形態では特に、ステップS110及びステップS120では、プリンタアプリケーション170は、印刷設定範囲の設定対象となる全てのアプリ名を記述し、当該全てのアプリ名から1つのアプリ名をユーザに選択させるように記述したIPPアトリビュートをCUPS160に送信する。これにより、端末装置100を使用しているユーザに端末装置100で使用されているアプリ名を選択させることができる。
また、本実施形態では特に、ステップS110及びステップS120では、プリンタアプリケーション170は、ユーザ及びアプリケーション102ごとの印刷設定範囲を排他事項として記述したIPPアトリビュートをCUPS160に送信する。これにより、印刷設定範囲外の内容を排他事項として記述することで印刷設定範囲を明確に設定することができる。
また、本実施形態では特に、プリンタアプリケーション170が、ステップS320において、端末装置100を使用しているユーザを特定するためのユーザ名をOS101から取得する。これにより、ユーザによるユーザ名の入力が不要となり、利便性を向上できる。
また、本実施形態では特に、プリンタアプリケーション170が、ステップS310において、端末装置100で使用されているアプリケーション102を特定するためのアプリ名をOS101から取得する。これにより、ユーザによるアプリ名の入力が不要となり、利便性を向上できる。
また、本実施形態では特に、次の効果を得る。すなわち、アプリケーション102での印刷操作において、ユーザが自らユーザ名を設定する際、誤って別のユーザ名を設定してしまうことがあり得る。これに対応して、本実施形態ではステップS320において、プリンタアプリケーション170は、OS101から端末装置100を使用しているユーザを特定するためのユーザ名を取得する。またステップS360において、プリンタアプリケーション170は、CUPS160から印刷設定一覧を取得し、当該印刷設定一覧に基づいてアプリケーション102での印刷操作においてステップS220でユーザから受け付けたユーザ名を取得する。そして、プリンタアプリケーション170は、ステップS360において、ユーザから受け付けたユーザ名とOS101から取得したユーザ名とが整合するか否かを判定し、整合している場合に、印刷データをプリンタ200へ向けて送信する。これにより、別ユーザ名の誤設定による、不適当な印刷設定を回避することが可能となる。
同様に、アプリケーション102での印刷操作において、ユーザが自らアプリ名を設定する際、誤って別のアプリ名を設定してしまうことがあり得る。これに対応して、本実施形態ではステップS310において、プリンタアプリケーション170は、OS101から端末装置100で使用されているアプリケーション102を特定するためのアプリ名を取得する。またステップS360において、プリンタアプリケーション170は、CUPS160から印刷設定一覧を取得し、当該印刷設定一覧に基づいてアプリケーション102での印刷操作においてステップS230でユーザから受け付けたアプリ名を取得する。そして、プリンタアプリケーション170は、ステップS360において、ユーザから受け付けたアプリ名とOS101から取得したアプリ名とが整合するか否かを判定し、整合している場合に、印刷データをプリンタ200へ向けて送信する。これにより、別アプリ名の誤設定による、不適当な印刷設定を回避することが可能となる。
<変形例>
なお、本発明は、上記実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を、順を追って説明する。
なお、本発明は、上記実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を、順を追って説明する。
(1)ユーザごと又はアプリケーションごとに印刷設定範囲を管理する場合
上記実施形態では、ユーザ及びアプリケーション102の両方を含む組み合わせに対して個別に印刷設定範囲を管理する場合について説明したが、ユーザ又はアプリケーション102のいずれか一方に対して個別に印刷設定範囲を管理してもよい。
上記実施形態では、ユーザ及びアプリケーション102の両方を含む組み合わせに対して個別に印刷設定範囲を管理する場合について説明したが、ユーザ又はアプリケーション102のいずれか一方に対して個別に印刷設定範囲を管理してもよい。
例えばユーザごとに印刷設定範囲を管理する場合、前述の図2(b)に示した対象選択画面DB2において、アプリ名選択部ASを削除してユーザ名選択部USのみ選択可能とすればよい。また、前述の図6に示したフローチャートにおいて、ステップS40を削除し、プリンタ200の印刷設定範囲をユーザごとに管理するPPDファイルを生成すればよい。また、前述の図8に示したフローチャートにおいて、ステップS230を削除すればよい。また、前述の図9に示したフローチャートにおいて、ステップS310を削除し、ステップS340では、上記ステップS320で取得したユーザ名で設定される印刷設定範囲を特定し、ステップS360では、ユーザが整合するか否かを判定すればよい。
同様に、例えばアプリケーション102ごとに印刷設定範囲を管理する場合、前述の図2(b)に示した対象選択画面DB2において、ユーザ名選択部USを削除してアプリ名選択部ASのみ選択可能とすればよい。また、前述の図6に示したフローチャートにおいて、ステップS30を削除し、プリンタ200の印刷設定範囲をアプリケーション102ごとに管理するPPDファイルを生成すればよい。また、前述の図8に示したフローチャートにおいて、ステップS220を削除すればよい。また、前述の図9に示したフローチャートにおいて、ステップS320を削除し、ステップS340では、上記ステップS310で取得したアプリ名で設定される印刷設定範囲を特定し、ステップS360では、アプリが整合するか否かを判定すればよい。
本変形例においても、上記実施形態と同様の効果を得ることができる。
(2)プリンタアプリケーションが設定エディタを含む場合
上記実施形態では、設定エディタ106がプリンタアプリケーション170とは別のアプリケーションである場合について説明したが、プリンタアプリケーション170が設定エディタ106の機能を含むように構成されてもよい。
上記実施形態では、設定エディタ106がプリンタアプリケーション170とは別のアプリケーションである場合について説明したが、プリンタアプリケーション170が設定エディタ106の機能を含むように構成されてもよい。
すなわち本変形例では、プリンタアプリケーション170が、PPDファイルの編集をユーザごとに受け付けるための編集画面を端末装置100の表示部140に表示する編集画面表示処理と、編集画面表示処理にて表示された編集画面に応じてPPDファイルの編集をユーザごとに受け付ける編集受付処理と、を実行させるよう構成されてもよい。また、プリンタアプリケーション170が、PPDファイルの編集をアプリケーション102ごとに受け付けるための編集画面を端末装置100の表示部140に表示する編集画面表示処理と、編集画面表示処理にて表示された編集画面に応じてPPDファイルの編集をアプリケーション102ごとに受け付ける編集受付処理と、を実行させるよう構成されてもよい。なお、上記編集画面は例えば前述の図2~図5に示した画面である。
本変形例では、プリンタアプリケーション170が設定エディタ106の機能を含む。この場合、例えば複数のユーザそれぞれの印刷設定を一人の管理者が一括して管理したい場合等において、管理者が、プリンタアプリケーション170の当該機能を用いて、効率よく円滑に複数ユーザの印刷設定を実行することができる。また、例えば複数のアプリケーション102それぞれの印刷設定を一人の管理者が一括して管理したい場合等において、管理者が、プリンタアプリケーション170の当該機能を用いて、効率よく円滑に複数ユーザの印刷設定を実行することができる。
(3)その他
なお、上記図6~図9に示すフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
なお、上記図6~図9に示すフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
<端末装置とプリンタのハードウェア構成>
図10を用いて、端末装置100及びプリンタ200のハードウェア構成の一例を説明する。
図10を用いて、端末装置100及びプリンタ200のハードウェア構成の一例を説明する。
<端末装置>
図10に示すように、端末装置100は、プロセッサ110と、記憶装置115と、表示部140と、操作部150と、通信インタフェース190と、を有している。これらプロセッサ110、記憶装置115、表示部140、操作部150、及び通信インタフェース190は、バス105を介して互いにデータ送受信可能に接続されている。
図10に示すように、端末装置100は、プロセッサ110と、記憶装置115と、表示部140と、操作部150と、通信インタフェース190と、を有している。これらプロセッサ110、記憶装置115、表示部140、操作部150、及び通信インタフェース190は、バス105を介して互いにデータ送受信可能に接続されている。
記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を備えている。揮発性記憶装置120は、例えば、DRAMであり、処理対象となる各種のプログラムやデータを記憶する。不揮発性記憶装置130は、例えば、ハードディスクドライブ、あるいはソリッドステートドライブであり、プログラム記憶領域131と、データ記憶領域132と、を有している。
プログラム記憶領域131には各種プログラムが格納されている。各種プログラムには、前述の図6~図9のフローチャート等に基づく前述のプリンタアプリケーション170や印刷処理プログラム等が含まれる。データ記憶領域132には、各種プログラムの実行に必要なデータ等が記憶されている。
プロセッサ110は、データ処理を行う装置、例えばCPUであり、プログラム記憶領域131に格納された各種プログラムを実行する。プロセッサ110は、ネットワークNTに接続されたプリンタ200に対するデータ通信を含む各種の処理を行う。プロセッサ110と上記プログラム記憶領域131に記憶されたプログラムとが、演算部及び制御部の一例である。
表示部140は、例えば液晶ディスプレイ等であり、種々の情報を表示可能である。操作部150は、例えばマウスやキーボード等であり、ユーザによる操作を受け付ける。ユーザは、操作部150を操作することによって、種々の指示を端末装置100に入力可能である。
通信インタフェース190は、他の装置と通信するためのインタフェースであり、ネットワークNTに接続されている。通信インタフェース190が通信I/Fの一例である。
なお、上記記憶装置115は上述した装置要素での構成に限られず、例えば、RAM、ROM、EEPROM、HDD、端末装置100に着脱されるUSBメモリ等の可搬記録媒体、プロセッサ110が備えるバッファ等、或いはそれらの組み合わせによって構成されてもよい。
なお、記憶装置115は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。後述するプリンタ200の記憶装置215についても同様である。
なお、記憶装置115は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。後述するプリンタ200の記憶装置215についても同様である。
<プリンタ>
図10に示すように、プリンタ200は、プロセッサ210と、記憶装置215と、表示部240と、操作部250と、通信インタフェース270と、印刷部290と、を有している。これらプロセッサ210、記憶装置215、表示部240、操作部250、通信インタフェース270、及び印刷部290は、バス205を介して互いにデータ送受信可能に接続されている。
図10に示すように、プリンタ200は、プロセッサ210と、記憶装置215と、表示部240と、操作部250と、通信インタフェース270と、印刷部290と、を有している。これらプロセッサ210、記憶装置215、表示部240、操作部250、通信インタフェース270、及び印刷部290は、バス205を介して互いにデータ送受信可能に接続されている。
記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を備えている。揮発性記憶装置220は、例えば、DRAMであり、印刷対象の画像データを記憶する画像データ記憶領域222を備えている。不揮発性記憶装置230は、例えばNVRAM、フラッシュメモリ等であり、プログラム記憶領域231と、データ記憶領域232と、を備えている。プログラム記憶領域231には各種プログラムが格納されている。各種プログラムには、印刷処理プログラムなどのファームウェア等が含まれる。データ記憶領域232には、上記各種プログラムを実行するための各種データ等が記憶されている。
プロセッサ210は、データ処理を行う装置であり、例えば、CPUである。プロセッサ210は、プログラム記憶領域231に格納された各種プログラムを実行する。
表示部240は、例えば、液晶ディスプレイであり、種々の情報を表示可能である。操作部250は、ユーザによる操作を受け付ける装置である。ユーザは、操作部250を操作することによって、種々の指示をプリンタ200に入力可能である。通信インタフェース270は、他の装置と通信するための有線または無線のネットワークインタフェースであり、ネットワークNTに接続されている。
印刷部290は、搬送装置より搬送される印刷用紙に画像を印刷する。印刷部290は、端末装置100から送信された印刷データ、若しくは、操作部250での操作に基づき自ら生成した印刷データに基づいて、印刷用紙に画像を印刷する。
1 印刷システム
100 端末装置(情報処理装置の一例)
101 OS(オペレーティングシステムの一例)
106 設定エディタ(設定アプリケーションの一例)
110 プロセッサ
160 CUPS(印刷ソフトウェアの一例)
170 プリンタアプリケーション(情報処理プログラムの一例)
200 プリンタ(印刷装置の一例)
100 端末装置(情報処理装置の一例)
101 OS(オペレーティングシステムの一例)
106 設定エディタ(設定アプリケーションの一例)
110 プロセッサ
160 CUPS(印刷ソフトウェアの一例)
170 プリンタアプリケーション(情報処理プログラムの一例)
200 プリンタ(印刷装置の一例)
Claims (12)
- 情報処理装置の演算部によって実行可能であり、前記情報処理装置と通信可能な印刷装置に対応可能な情報処理プログラムであって、前記情報処理装置には印刷ソフトウェアを有するオペレーティングシステムが搭載されており、前記情報処理プログラムは前記印刷ソフトウェアに仮想の印刷装置として登録可能であり、
前記情報処理プログラムは、前記印刷ソフトウェアに前記仮想の印刷装置として登録されたとき、前記情報処理装置の演算部に対し、
前記印刷装置における印刷設定可能な範囲である印刷設定範囲をユーザごとに管理する印刷設定範囲管理情報を取得する印刷設定範囲管理情報取得処理と、
取得した前記印刷設定範囲管理情報に基づき、前記情報処理装置を使用しているユーザのユーザ識別情報を前記情報処理装置に取得させる第1命令を前記印刷ソフトウェアに送信する第1命令送信処理と、
前記第1命令に応じて取得される前記ユーザ識別情報に基づき前記情報処理装置を使用しているユーザの印刷設定範囲を前記情報処理装置に特定させる印刷設定範囲特定情報を前記印刷ソフトウェアに送信する設定範囲特定情報送信処理と、
前記印刷ソフトウェアから前記第1命令と前記印刷設定範囲特定情報に応じた印刷設定の第1印刷データを取得する印刷データ取得処理と、
前記印刷データ取得処理で取得した前記第1印刷データに基づく第2印刷データを前記印刷装置へ向けて送信する印刷データ送信処理と、
を実行するよう構成されている、情報処理プログラム。 - 前記印刷設定範囲管理情報取得処理では、
前記印刷設定範囲を前記ユーザごとに及びアプリケーションごとに管理する前記印刷設定範囲管理情報が取得され、
前記演算部に対し、さらに、
取得した前記印刷設定範囲管理情報に基づき、前記情報処理装置で使用されているアプリケーションのアプリ識別情報を前記情報処理装置に取得させる第2命令を前記印刷ソフトウェアに送信する第2命令送信処理を実行させ、
前記設定範囲特定情報送信処理で前記印刷ソフトウェアに送信される前記印刷設定範囲特定情報は、前記第1命令送信処理に応じて取得される前記ユーザ識別情報及び前記第2命令に応じて取得される前記アプリ識別情報に基づき前記情報処理装置で前記ユーザが使用している前記アプリケーションの印刷設定範囲を前記情報処理装置に特定させる情報であり、
前記印刷データ取得処理では、前記印刷ソフトウェアから前記第1命令、前記第2命令、及び前記印刷設定範囲特定情報に応じた印刷設定の第1印刷データが取得される、
よう構成されている、請求項1記載の情報処理プログラム。 - 前記第1命令送信処理では、
前記印刷設定範囲の設定対象となる全ての前記ユーザ識別情報を記述し、当該全てのユーザ識別情報から1つのユーザ識別情報を前記ユーザに選択させるように記述した前記第1命令が前記印刷ソフトウェアに送信される、
よう構成されている、請求項1記載の情報処理プログラム。 - 前記第2命令送信処理では、
前記印刷設定範囲の設定対象となる全ての前記アプリ識別情報を記述し、当該全てのアプリ識別情報から1つのアプリ識別情報を前記ユーザに選択させるように記述した前記第2命令が前記印刷ソフトウェアに送信される、
よう構成されている、請求項2記載の情報処理プログラム。 - 前記設定範囲特定情報送信処理では、
前記ユーザ及び前記アプリケーションごとの前記印刷設定範囲を排他事項として記述した前記印刷設定範囲特定情報が前記印刷ソフトウェアに送信される、
よう構成されている、請求項2記載の情報処理プログラム。 - 前記演算部に対し、さらに、
前記情報処理装置のオペレーティングシステムから、前記情報処理装置を使用しているユーザを特定するためのユーザ情報を取得するユーザ特定処理、
を実行させるよう構成されている、請求項1記載の情報処理プログラム。 - 前記演算部に対し、さらに、
前記第1命令に応じて取得された前記ユーザ識別情報と、前記ユーザ特定処理で取得された前記ユーザ情報と、が整合するか否かを判定する整合判定処理、
を実行させ、
前記印刷データ送信処理では、
前記整合判定処理にて前記ユーザ識別情報と前記ユーザ情報が整合していると判定された場合に、前記第2印刷データを前記印刷装置へ向けて送信する、
よう構成されている、請求項6記載の情報処理プログラム。 - 前記演算部に対し、さらに、
前記印刷設定範囲管理情報を編集するための設定アプリケーションを起動する設定アプリケーション起動処理、
を実行させ、
前記印刷設定範囲管理情報取得処理では、
前記設定アプリケーション起動処理にて起動された前記設定アプリケーションにより編集された印刷設定範囲管理情報が取得される、
よう構成されている、請求項1乃至請求項7のいずれか1項記載の情報処理プログラム。 - 情報処理装置の演算部によって実行可能であり、前記情報処理装置と通信可能な印刷装置に対応可能な情報処理プログラムであって、前記情報処理装置には印刷ソフトウェアを有するオペレーティングシステムが搭載されており、前記情報処理プログラムは前記印刷ソフトウェアに仮想の印刷装置として登録可能であり、
前記情報処理プログラムは、前記印刷ソフトウェアに前記仮想の印刷装置として登録されたとき、前記情報処理装置の演算部に対し、
前記印刷装置における印刷設定可能な範囲である印刷設定範囲をアプリケーションごとに管理する印刷設定範囲管理情報を取得する印刷設定範囲管理情報取得処理と、
取得した前記印刷設定範囲管理情報に基づき、前記情報処理装置で使用されているアプリケーションのアプリ識別情報を前記情報処理装置に取得させる第2命令を前記印刷ソフトウェアに送信する第2命令送信処理と、
前記第2命令に応じて取得される前記アプリ識別情報に基づき前記情報処理装置で使用されているアプリケーションの印刷設定範囲を前記情報処理装置に特定させる印刷設定範囲特定情報を前記印刷ソフトウェアに送信する設定範囲特定情報送信処理と、
前記印刷ソフトウェアから前記第2命令と前記印刷設定範囲特定情報に応じた印刷設定の第1印刷データを取得する印刷データ取得処理と、
前記印刷データ取得処理で取得した前記第1印刷データに基づく第2印刷データを前記印刷装置へ向けて送信する印刷データ送信処理と、
を実行するよう構成されている、情報処理プログラム。 - 前記演算部に対し、さらに、
前記情報処理装置のオペレーティングシステムから、前記情報処理装置で使用されているアプリケーションを特定するためのアプリ情報を取得するアプリ特定処理、
を実行させるよう構成されている、請求項9記載の情報処理プログラム。 - 前記演算部に対し、さらに、
前記第2命令送信処理にて取得された前記アプリ識別情報と、前記アプリ特定処理で取得された前記アプリ情報と、が整合するか否かを判定する整合判定処理、
を実行させ、
前記印刷データ送信処理では、
前記整合判定処理にて前記アプリ識別情報と前記アプリ情報が整合していると判定された場合に、前記第2印刷データを前記印刷装置へ向けて送信する、
よう構成されている、請求項10記載の情報処理プログラム。 - 前記演算部に対し、さらに、
前記印刷設定範囲管理情報を編集するための設定アプリケーションを起動する設定アプリケーション起動処理、
を実行させ、
前記印刷設定範囲管理情報取得処理では、
前記設定アプリケーション起動処理にて起動された前記設定アプリケーションにより編集された印刷設定範囲管理情報が取得される、
よう構成されている、請求項9乃至請求項11のいずれか1項記載の情報処理プログラム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024081340A JP2025174749A (ja) | 2024-05-17 | 2024-05-17 | 情報処理プログラム |
| JP2024-081340 | 2024-05-17 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025239013A1 true WO2025239013A1 (ja) | 2025-11-20 |
Family
ID=97719644
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2025/010490 Pending WO2025239013A1 (ja) | 2024-05-17 | 2025-03-18 | 情報処理プログラム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2025174749A (ja) |
| WO (1) | WO2025239013A1 (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012164245A (ja) * | 2011-02-09 | 2012-08-30 | Canon Inc | 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム |
| JP2022168524A (ja) * | 2021-04-26 | 2022-11-08 | ブラザー工業株式会社 | サポートプログラムおよび印刷システム |
-
2024
- 2024-05-17 JP JP2024081340A patent/JP2025174749A/ja active Pending
-
2025
- 2025-03-18 WO PCT/JP2025/010490 patent/WO2025239013A1/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012164245A (ja) * | 2011-02-09 | 2012-08-30 | Canon Inc | 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム |
| JP2022168524A (ja) * | 2021-04-26 | 2022-11-08 | ブラザー工業株式会社 | サポートプログラムおよび印刷システム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2025174749A (ja) | 2025-11-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11989462B2 (en) | Information processing apparatus, method, and a non-transitory storage medium, receives first print settings information supports the internet printing protocol (IPP) and further receives second print settings that does not support the internet printing protocol (IPP) from printer | |
| US8773691B2 (en) | Printing control apparatus, printing control method, and storage medium | |
| US8640148B2 (en) | Information processing apparatus, information processing method and storage medium | |
| JP2023153904A (ja) | 情報処理装置 | |
| US8836962B2 (en) | Universal device driver and device control program | |
| US20180198930A1 (en) | Input/output device and information processing system | |
| US20110261396A1 (en) | Control device for managing drivers | |
| US10397426B2 (en) | Information processing system | |
| US20210165620A1 (en) | Server system | |
| US9411826B2 (en) | Image processing apparatus control method and program | |
| US12430083B2 (en) | Information processing apparatus, control method therefor, and non-transitory computer-readable storage medium | |
| JP2011123621A (ja) | プリントサーバー装置、印刷設定画面の作成方法及びプログラム | |
| US20240427538A1 (en) | Computer-readable storage medium, information processing device, and method for displaying web page provided by web server embedded in printer | |
| JP2018037018A (ja) | 情報処理装置およびプログラム | |
| WO2025239013A1 (ja) | 情報処理プログラム | |
| US11169757B2 (en) | Print server system providing functions related to printing | |
| US8860961B2 (en) | Information processing apparatus, information processing system and computer readable medium | |
| US12393376B2 (en) | Control method for executing application stored in information processing apparatus and providing print setting screen to display an obtained icon image | |
| US8643885B2 (en) | Printing control apparatus and non-transitory computer readable medium with setting authentication information in a devmode structure | |
| US20240143242A1 (en) | Information processing apparatus, system, control method for the system, and storage medium | |
| US20260017003A1 (en) | Non-transitory computer-readable storage medium storing information processing program | |
| US20250004677A1 (en) | Information processing apparatus, control method, and recording medium | |
| WO2024203448A1 (ja) | 情報処理プログラム及び情報処理装置 | |
| JP2025145040A (ja) | 仮想プリンタ管理プログラム | |
| WO2024203449A1 (ja) | 情報処理システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25803265 Country of ref document: EP Kind code of ref document: A1 |