Information processing device and program
An integrated extension application enhances print data generation software by providing additional settings and functions, addressing the limitations of standard print data generation software, enabling full device-specific features across multiple printers.
Patent Information
- Application Number
- JP2024115544
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2025-09-08
- Estimated Expiration
- 2038-07-05
AI Technical Summary
Print data generation software conforming to standard specifications lacks optimal customization for individual devices, limiting the functionality provided by printer vendors.
An integrated extension application that enhances print data generation software by providing a second print setting screen for setting additional values and adding information to print data, including layout and preview functions, while ensuring compatibility and consistency with multiple printing devices.
Enables enhanced functionality such as layout printing and print preview, allowing users to utilize full device-specific features without installing device-specific software, ensuring seamless integration and compatibility across different printers.
Smart Images

Figure 0007735496000001 
Figure 0007735496000002 
Figure 0007735496000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device and a program. [Background technology]
[0002] Print data generation software that conforms to standard specifications has the advantage that users can print without installing device-specific print data generation software. However, it cannot be optimally customized for each device. Therefore, there is a mechanism for extending the functionality of print data generation software using vendor-specific extension applications. Windows (registered trademark) provides an extension application called Windows Store Device App (WSDA) that extends the functionality lacking in printer drivers. Patent Document 1 discloses that a vendor that provides a printing device can provide WSDA to customize the print setting screen when printing from a drawing application. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2017-16480 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, WSDA still has limitations in the functionality it provides. In view of these issues, the present invention aims to provide better functionality as an extension application for print data generation software. [Means for solving the problem]
[0005] One aspect of the present invention Application Program teeth, The information processing device displays a second print setting screen on which a first setting value that can be set on a first print setting screen provided by printing software that can output print data printable on a plurality of printing devices of a plurality of different vendors to the plurality of printing devices can be set, and a second setting value that cannot be set on the first print setting screen can be set, and information that is not added to the first setting value is added to information corresponding to the second setting value set by a user via the second print setting screen in the print setting information of the print data. . [Effects of the Invention]
[0006] The present invention makes it possible to provide better functionality as an extended application of print data generation software. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a block diagram showing the hardware configuration of a printing system. [Figure 2] FIG. 2 is a block diagram illustrating a data flow during printing. [Figure 3] FIG. 4 is a schematic diagram illustrating a screen for making print settings. [Figure 4] FIG. 4 is a schematic diagram for explaining layout printing. [Figure 5] Schematic diagram of the user interface of the print preview function. [Figure 6] 10A and 10B are diagrams showing examples of capability information and print setting information that do not include extended functions. [Figure 7] 10A and 10B are diagrams showing an example of capability information including an extended function and print setting information. [Figure 8] FIG. 10 is a diagram showing print setting information after a consistency check of the print settings is performed. [Figure 9] FIG. 4 is a diagram showing an example of print setting information according to the first embodiment. [Figure 10] 6 is a flowchart showing the processing of print data generation software. [Figure 11] 6 is a flowchart showing the processing of print data generation software. [Figure 12] 6 is a flowchart showing the processing of print data generation software. [Figure 13] FIG. 10 is a diagram showing an example of description of capability information in the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0008] Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the present invention as defined in the claims, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the present invention. Note that the same components are given the same reference numerals and their description will be omitted.
[0009] <<Embodiment 1>> <Printing system hardware configuration> 1 is a block diagram showing the hardware configuration of a printing system. In this diagram, a host computer 101 is an example of an information processing device, and includes an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116. Input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110, and a display device such as a display unit 119 is connected to the output interface 115.
[0010] An initialization program is stored in the ROM 112, and a group of application programs such as drawing applications, an operating system (OS), print data generation software, and various other data are stored in the external storage device 114. The RAM 113 is used as a work memory when the various programs stored in the external storage device 114 are executed.
[0011] In this embodiment, the CPU 111 executes processing according to the procedures of a program stored in the ROM 112, thereby executing functions of the host computer 101 described below and processing related to flowcharts described below. The printing device 102, which is a device, is connected to the host computer 101 via an input / output interface 116. Here, the host computer 101 and the printing device 102 are configured separately, but they may also be configured as a single information processing device. Also, although the printing device will be described as an inkjet printer that prints by ejecting ink onto paper, printing may be performed by other methods (for example, electrophotography). The host computer 101 may be a desktop computer, a smartphone, or a laptop computer.
[0012] <Need for extended applications> Here, we will explain the need for extended applications. Traditionally, printer vendors created printer drivers for each device (printing device), and users had to install a printer driver appropriate for that device. In contrast, there are generic drivers, printer drivers that can run on multiple devices. In recent years, OS vendors have provided generic drivers that conform to standard specifications, and printer vendors that provide printing devices have created devices (printing devices) that conform to standard specifications, making it possible to print without installing the printer vendor's proprietary printer driver. Furthermore, as printing environments become more diverse, in environments where printer drivers cannot be installed (such as smartphones), printing is sometimes performed using print data generation applications that generate print data in accordance with standard specifications. Hereafter, generic printer drivers and print data generation applications will be referred to as "print data generation software."
[0013] Because such print data generation software conforms to standard specifications, it has the advantage of allowing users to print without installing device-specific print data generation software. However, it cannot be optimally customized for each device. In particular, print data generation software provided with an OS only has minimal functionality, preventing users from utilizing sufficient functionality to utilize the printing device provided by the printer vendor. Therefore, this embodiment provides extended functionality using an extension application. The extension application of this embodiment is launched before a user issues a print instruction to display a print setting screen, and is launched after the print instruction to provide functions such as editing print setting information and intermediate data, and displaying a UI (User Interface). In this way, it has multiple functions, such as customizing the print setting screen and editing intermediate data, and is launched multiple times at different times, such as before and after a print instruction. Therefore, in the following description, the extension application of this embodiment is also referred to as an integrated extension application. The processing flow of this embodiment is described below.
[0014] <Printing data flow> 2 is a diagram for explaining the data flow in printing. FIG. 2(a) is a diagram showing the data flow when the integrated extension application 203 is not associated with any of the drawing application 201, print data generation software 202, and printing device 102. The drawing application 201 is software that creates content data to be printed (drawing data such as images and text information that are the basis for forming print on paper), and is also called a content generation application. The drawing application 201 corresponds to, for example, a word processing application, a spreadsheet application, a presentation application, etc.
[0015] When issuing a print instruction, the user inputs desired print settings using a print setting screen provided by the OS (not shown) or print data generation software 202, which is displayed via a screen provided by the drawing application 201. The user then returns to the screen provided by the drawing application 201 and issues a print instruction using the screen provided by the drawing application 201. At this time, when the print setting screen is closed by the user or when a print instruction is issued, the drawing application 201 uses the OS function to check the consistency of the print settings.
[0016] Thereafter, the OS generates intermediate data (also referred to as input data) based on the drawing data generated by the drawing application 201 in response to a print instruction from the user, and passes the intermediate data to the print data generation software 202. Note that the format of the intermediate data here is assumed to be XML Paper Specification format data (XPS format data). However, the format of the intermediate data in this embodiment may be Graphic Device Interface format data (GDI format data). Furthermore, data may be in a format other than XPS format or GDI format. Furthermore, depending on the type of drawing application 201, the drawing application 201 itself may generate intermediate data. In other words, the drawing application 201 may generate intermediate data based on the drawing data, and the intermediate data may be sent to the print data generation software 202 via the OS. Furthermore, the OS may modify the XPS format intermediate data generated by the drawing application 201 to generate new XPS format intermediate data.
[0017] The print data generation software 202 generates print data (also called print commands) that can be interpreted by a printing device based on the intermediate data and sends it to the printing device 102. The print data software 202 generates print data that can be used for printing devices from multiple printer vendors. In other words, printing can be performed using print data generated by the same print data software 202 on both a printing device from vendor A and a printing device from vendor B. The printing device 102 prints on paper based on the print data sent from the print data generation software 202.
[0018] Next, FIG. 2B illustrates a data flow when the integrated extension application 203 is associated with the print data generation software 202. In this embodiment, the print data generation software 202 is software that is pre-installed in the OS. That is, the print data generation software is available when the OS is installed on the host computer 101. On the other hand, the integrated extension application 203 is software that is not pre-installed in the OS. That is, the integrated extension application 203 is not installed when the OS is installed on the host computer 101. Therefore, the user must operate the host computer 101 to download and install the integrated extension application 203 from a predetermined server via a network such as the Internet. Furthermore, when the printing device 102 is connected to the host computer 101, the CPU 111 may acquire device identification information of the printing device 102 from the printing device 102 and acquire the integrated extension application 203 using the acquired device identification information. That is, the integrated extension application 203 corresponding to the device identification information acquired from the printing device 102 may be downloaded and installed from a predetermined server via a network such as the Internet.
[0019] In this way, the print data generation software 202 and the integrated extension application 203 are acquired at different times and stored as separate files in the host computer 101. The print data generation software 202 and the integrated extension application 203 may be updated and upgraded. However, this update process is also performed at different times. When the integrated extension application 203 is installed, the OS associates (links) the print data generation software 202 and the integrated extension application 203. The integrated extension application 203 may also be linked to the printing device 102. In particular, when the integrated extension application 203 is downloaded using device identification information, it can be said that the integrated extension application 203 and the printing device 102 are linked by the device identification information.
[0020] The integrated extension application 203 described in this embodiment includes a print setting screen extension unit 204, a layout extension unit 205, and a preview unit 206. The print setting screen extension unit 204 provides a print setting screen that allows the user to input print settings. The layout extension unit 205 performs layout processing on intermediate data before it is processed by the print data generation software 202. Specifically, the layout extension unit 205 provides a layout printing function (also called an N-in-1 function or an Nup function) for arranging and printing multiple pages generated by the drawing application 201 on one sheet of paper. For example, the layout extension unit 205 arranges two pages of data and performs layout processing on one page. The preview unit 206 can perform at least one of display and editing based on the print data generated by the print data generation software 202.
[0021] The operation of the integrated extension application 203 may be terminated each time processing of each unit is completed. In this case, the OS will launch the integrated extension application 203 each time a request to use each unit is received. Another possible configuration is also possible. For example, when processing of the print setting screen extension unit 204 is completed, the OS will terminate the operation of the extension application 203, but the OS may keep the extension application 203 running even after processing of the layout extension unit 205 is completed.
[0022] Furthermore, each unit of the integrated extension application 203 can display a UI, but may not necessarily display a UI. For example, the layout extension unit 205 may edit only the intermediate data without displaying a UI and output the edited intermediate data to the print data generation software 202. If the layout extension unit 205 is capable of displaying a UI, it may display, for example, a preview screen including a preview image and control items for changing print settings based on the intermediate data. It goes without saying that the configuration of the integrated extension application 203 for realizing the present invention is not limited to having all of the above-mentioned functions, and may have only some of the functions or other functions. As described above, the extension application 203 can be said to have at least one of the following functions: a function for displaying a setting screen, a function for editing intermediate data input to the print data generation software, and a function for displaying print data.
[0023] When instructing printing, the user first gives an instruction to input print settings on a screen provided by the drawing application 201. In response to this instruction, the integrated extension application 203 starts up and a print setting screen provided by the print setting screen extension unit 204 is displayed. The user inputs desired print settings using this print setting screen.
[0024] FIG. 3 shows an example of a print setting screen provided by the print setting extension unit 204 of the integrated extension application 203. When the integrated extension application 203 is not associated with the print data generation software 202, as shown in FIG. 2A, a standard print setting screen provided by the OS or the print data generation software 202 is generally used. This standard print setting screen allows only the functions provided by the print data generation software 202 to be set. In contrast, the print setting screen provided by the integrated extension application 203 also allows the setting of the extended functions provided by the integrated extension application 203. The extended functions are functions not provided by the print data generation software 202 and can be provided by the integrated extension application 203. In the example of FIG. 3, it is possible to set layout printing provided by the layout extension unit 205 and the print preview function provided by the preview unit 206. In other words, the print setting screen provided by the integrated extension application 203 of this embodiment includes, as display items for setting the extended functions, a control item for setting layout printing and a control item for setting the display of a print preview screen. However, the integrated extension application 203 of this embodiment is not limited to these two extended functions, and may also be capable of setting a stamp function, etc. In other words, a control item capable of setting a stamp function, etc. may be displayed on the print setting screen. The extended functions that the integrated extension application 203 can provide may be determined when the integrated extension application 203 is installed. In this case, the extended functions that can be provided are determined based on the type of the host computer 101 or the connected printing device 102. It is also possible that the extended functions that can be provided are determined after the integrated extension application 203 is installed. In this case, the integrated extension application 203 communicates with the connected printing device 102, and the extended functions that can be provided are determined based on the type of the printing device 102 and the functions provided by the printing device 102. Specifically, information on at least one of the type of the printing device 102 and the functions provided by the printing device 102 is obtained, and the extended functions that can be provided are determined.
[0025] The drawing application 201 acquires default print setting information (information indicating print settings) generated by the OS and passes this print setting information to the print setting expansion unit 204 when the print setting expansion unit 204 is started. The print setting expansion unit 204 edits the acquired print setting information when the print setting screen is closed by a user instruction or when an instruction to change the print settings is given within the print setting screen. Specifically, the print setting expansion unit 204 edits the acquired print setting information based on input information entered by the user on the print setting screen to generate new print setting information (information indicating print settings). Details of the process related to generating print setting information will be described later with reference to FIG. 10. This print setting information is included in data called a PrintTicket, which is written in XML format based on a format defined by the OS. However, the print setting information in this embodiment is not limited to PrintTicket (hereinafter sometimes abbreviated as "PT") and may be in other formats. The print setting expansion unit 204 may also acquire default print setting information generated by the OS and generate (edit) new print setting information by reflecting user input information in the default print setting information. The print setting extension unit 204 returns the generated PT to the drawing application 201.
[0026] Thereafter, the drawing application 201 requests the OS to check the consistency of the PT using the OS's functions. That is, the OS checks the consistency of the PT based on an instruction from the drawing application 201. This consistency check will be described later with reference to FIGS. 6 to 9.
[0027] After the consistency check, the OS returns the PT to the drawing application 201. When a user issues a print instruction on a screen provided by the drawing application 201, the OS generates intermediate data based on the print instruction. The OS also launches the layout extension unit 205 of the integrated extension application 203. Note that the intermediate data in this embodiment includes the drawing data generated by the drawing application 201 and the PT, which is print setting information. The intermediate data is in the XML Paper Specification format (XPS format data). However, the intermediate data in this embodiment may also be in the Graphic Device Interface format (GDI format data). Furthermore, the intermediate data may be in a format other than the XPS format or the GDI format. Depending on the type of drawing application 201, the drawing application 201 itself may generate intermediate data. That is, the drawing application 201 may generate intermediate data based on the drawing data, and the intermediate data may be sent to the print data generation software 202 via the OS. Furthermore, the OS may modify the XPS format intermediate data generated by the drawing application 201 to generate new XPS format intermediate data.
[0028] The layout extension unit 205 acquires the generated intermediate data and edits it based on the PT in the intermediate data. FIG. 4 is a diagram illustrating an overview of the layout printing function provided by the layout extension unit 205 of the integrated extension application 203. In layout printing, layout is performed so that multiple pages in the print data are arranged on a single sheet of paper. In the example of FIG. 4, two-page printing is set, and the layout extension unit 205 generates data 403 in which two consecutive pages 401 and 402 are arranged on a single page. For simplicity's sake, the following description of this embodiment assumes that the layout extension unit 205 only has layout functions for two-page printing and four-page printing as its layout printing function. However, in practice, it is also possible to arrange more pages on a single sheet of paper. Details of the intermediate data editing process in the layout extension unit 205 will be described later using FIG. 11. The layout extension unit 205 outputs the edited intermediate data to the print data generation software 202.
[0029] The print data generation software 202 executes processing for functions other than the extended functions (functions that the print data generation software 202 can provide) based on the PT in the acquired intermediate data. The print data generation software 202 then generates print data (also called print commands) in a format that can be interpreted by the printing device. The print data software 202 generates print data that can be used with printing devices from multiple printer vendors. In other words, printing can be performed using print data generated by the same print data software 202 on both printing devices from vendor A and vendor B.
[0030] The print data generation software 202 outputs the generated print data and the PT in the intermediate data acquired from the layout extension unit 205. Next, the OS starts the preview unit 206 of the integrated extension application 203.
[0031] The preview unit 206 acquires the print data and PT generated by the print data generation software 202 and displays a print preview. After the user confirms that the print result is the desired one through the print preview, they issue a command to start printing through the print preview UI screen. Figure 5 shows an example of a print preview screen provided by the preview unit 206 of the integrated extension application 203. Display item 501 is a control item for changing the page displayed in the print preview. The user can use this control item to change the displayed page. The user can also check the total number of pages to be printed based on the current print data and print settings. Display item 502 is a print preview screen that shows an image of the print result of the specified page. Display item 503 is a button for starting printing. Display item 504 is a cancel button; pressing this button cancels the subsequent print processing. Note that the screen shown in Figure 5 may also display a control item for changing print settings along with the print section review screen. For example, control items that allow the user to change the settings shown in Fig. 3 (print orientation, borderless printing settings, double-sided printing settings, layout printing settings, etc.) may be displayed. Detailed processing by the preview unit 206 will be described later with reference to Fig. 12. The preview unit 206 receives a print start instruction from the user and outputs print data.
[0032] The print data output from the preview unit 206 is sent to the printing device 102. The printing device 102 prints on paper based on the print data sent from the print data generation software 202. With the above configuration, the user can use the layout function and print preview function that the print data generation software 202 does not have, by using the integrated extension application 203. The above is an outline of the print processing flow configuration of this embodiment. Details of each process will be explained below.
[0033] <Processing of the print setting screen extension unit 204> The details of the print setting information generation process in the print setting screen expansion unit 204 will be described using FIG. 10. FIG. 10 is a flowchart showing the process performed by the print setting screen expansion unit 204. Hereinafter, the print setting screen expansion unit 204 will be described as the subject of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program (integrated expansion application 203). Note that not all processes are necessarily executed sequentially in one process, and there may be cases where the process is transferred to the OS side once and then called again by the OS. This is merely a flow showing the main processes of the editing application 205 for the sake of convenience and in an easy-to-understand manner.
[0034] First, the print setting screen extension unit 204 displays a print setting screen such as that shown in Fig. 3 in response to a user instruction via a screen provided by the drawing application 201. The print setting screen provided by the print setting screen extension unit 204 also enables setting of extended functions provided by the integrated extension application 203.
[0035] Then, in S1001, the print setting screen extension unit 204 acquires input information entered by the user on the print setting screen. Then, in S1002, the print setting screen extension unit 204 determines whether the integrated extension application 203 provides functions (i.e., extended functions) other than the standard functions provided by the print data generation software 202. Extended functions include not only extension of setting items, but also cases where the options selectable for a standard setting item are expanded beyond the standard. If the integrated extension application 203 provides extended functions, the process proceeds to S1004; if the integrated extension application 203 does not provide extended functions, the process proceeds to S1003.
[0036] To explain the extended functions, we will first use FIG. 6 to explain the functions (standard setting functions) provided by the print data generation software 202. Capability information 601 in FIG. 6 is an example of capability information indicating the functions provided by the print data generation software 202. This capability information 601 describes the functions that can be set by the print data generation software 202 in XML format based on a format defined by the OS, and is called PrintCapabilities (hereinafter, sometimes abbreviated as "PC"). The print setting screen extension unit 204 provides a print setting screen based on the information described in this PC. Note that, here, the print data generation software 202 is assumed to have paper type and print orientation functions as setting items for the standard setting functions. In other words, the PC includes a paper type setting (corresponding to the item with "MediaType" written in "Feature") and a print orientation setting (corresponding to the item with "Orientation" written in "Feature"). The print data generation software 202 also includes options for the paper type setting, such as plain paper (an "Option" with "Plain" written on it) and photo paper (an "Option" with "PhotoPaper" written on it). Options for the print orientation setting, such as portrait (an "Option" with "Portrait") and landscape (an "Option" with "Landscape" written on it). Note that the standard setting functions of the print data generation software 202 actually include other standard setting functions (such as paper size setting) in addition to the above two, but for the sake of simplicity, these other standard setting functions are omitted here.
[0037] If the determination in S1002 is NO, the integrated extension application 203 does not provide extended functions. This means that there are no settings (i.e., extended function settings) other than those described in the capability information 601 in FIG. 6. In this case, in S1003, the print setting screen extension unit 204 creates a normal PT as shown in the print setting information 602 in FIG. 6. In other words, the set items for the paper type and print orientation, which are standard setting functions, are input into the PT. The print setting information 602 in FIG. 6 shows a PT when "PhotoPaper" is set as the paper type and "Portrait" is set as the print orientation.
[0038] On the other hand, if the determination in S1002 is YES, the integrated extension application 203 provides an extended function. This means that settings other than those described in the capability information 601 in FIG. 6 (i.e., settings for an extended function) exist. In this case, in S1004, the print setting screen extension unit 204 generates the PT shown in FIG. 9. That is, a parameter called "Extension" is provided, and the extended function is described in this parameter called "Extension." Specifically, as shown in FIG. 9, the item for the layout printing function (Feature of JobNUpAllDocumentsContiguously), which is an extended function, and its option, the 4-in-1 setting (Option of PagesPerSheet_4), are described in "Extension." Furthermore, the setting item for the print preview function (Feature of JobPreview), which is also an extended function, and its option, the ON setting, are described in "Extension." Setting functions other than the extended function (standard setting functions) are described normally, as in FIG. 6.
[0039] In S1005, the print setting screen expansion unit 204 outputs the PT generated in S1003 or S1004 to the drawing application 201.
[0040] In the above example, in S1002, the print setting screen extension unit 204 determines whether the integrated extension application 203 provides an extension function, but this embodiment is not limited to this. For example, the print setting screen extension unit 204 may determine whether the input information acquired in S1001 includes information about an extension function. In this case, if the input information includes information about any of the extension functions, the process proceeds to S1004. Also, if the input information acquired in S1002 does not include information about any of the extension functions, the process may proceed to S1003.
[0041] <Print settings consistency check> Next, the print setting consistency check performed after S1005 will be described. Having acquired the PT, the drawing application 201 uses the OS's functions to check the consistency of the print settings based on the capability information of the print data generation software 202 and the print setting information. Specifically, upon receiving an instruction from the drawing application 201, the OS references the information written in the PT and checks whether the PT contains information about a setting function that does not exist in the PC. If the PT contains information about a setting function that does not exist in the PC, the OS deletes the information about that setting function from the PT or changes it to an appropriate setting value that exists in the PC. This is because setting values other than those for functions that the print data generation software 202 can process are considered invalid values.
[0042] For example, a case will be described in which the print data generation software 202 has a PC shown in the capability information 601 in Fig. 6, and a PT shown in the print setting information 602 in Fig. 6 is generated in S1003. In this case, all setting values present in the PT of the print setting information 602 are present in the PC of the capability information 601. Therefore, in this case, the OS does not change the print setting information 601.
[0043] On the other hand, as a comparative example, a case will be described in which the print data generation software 202 has a PC shown in the capability information 701 in FIG. 7 and a PT shown in the print setting information 702 in FIG. 7 is generated. In this case, the PT shown in the print setting information 702 has a 4-in-1 setting for laying out four pages of data on one page as the layout printing function, and the print preview function is enabled (ON). However, the PC shown in the capability information 701 does not have a setting item for the print preview function (a JobPreview feature). Furthermore, the PC shown in the capability information 701 has a setting item for the layout printing function (a JobNUpAllDocumentsContiguously feature), but does not have a 4-in-1 setting (a PagesPerSheet_4 option) as an option. In such a case, the OS changes the Option for the layout printing function (a JobNUpAllDocumentsContiguously feature) in the PT to None. Furthermore, the OS deletes the setting item for the print preview function (a JobPreview feature) in the PT. As a result of the consistency check, the print setting information 702 is changed to the print setting information (PT) as shown in Fig. 8. Note that in Fig. 8, the OS changes the Option in the layout printing function (Feature of JobNUpAllDocumentsContiguously) in the PT to None, but this embodiment is not limited to this. For example, it may be changed to another setting value (e.g., "PagesPerSheet_2") that exists in the PC.
[0044] In this way, if the OS edits (changes or deletes) the setting values in the PT during the consistency check, the print setting information will not be correctly retained by the consistency check even if an extended function is added by the integrated extension application 203. As a result, there is a possibility that the print setting information will not be correctly transmitted to the layout extension unit 205 or the preview unit 206.
[0045] Therefore, in this embodiment, as explained in S1004 of Fig. 10, a Parameter whose setting value will not be changed even when a consistency check of the print settings is performed is provided in the PT, which is the print setting information. Then, as shown in Fig. 9, the print setting screen extension unit 204 writes the extended functions in a Parameter called Extension, and writes other settings as usual, and creates the PT, which is the print setting information. As a result, even when a consistency check of the print settings is performed, the OS operates so that the setting values written in the Parameter of this Extension will not be changed.
[0046] The parameter name "Extension" is an example of a parameter name for which the OS does not change the print settings, and other parameter names may be used as long as the setting value is not changed even when checking the consistency of the print settings.
[0047] After checking the consistency, the OS returns the PT to the drawing application 201. Then, when a print instruction is given by the user on the screen provided by the drawing application 201, the OS generates intermediate data based on the print instruction. The OS also starts the layout extension unit 205 of the integrated extension application 203.
[0048] <Processing in the layout expansion unit 205> Next, the processing of the layout extension unit 205 will be described with reference to FIG. 11. FIG. 11 is a flowchart showing the processing of the layout extension unit 205. Hereinafter, the layout extension unit 205 will be described as the main body of each processing, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program (integrated extension application 203). Note that not all processing is necessarily executed sequentially in one process, and there may be cases where processing is transferred to the OS side once and then called again by the OS. This is merely a flow chart showing the main processing of the integrated extension application 203 for convenience and in an easy-to-understand manner.
[0049] First, in S1101, the layout extension unit 205 acquires intermediate data. Next, in S1102, the layout extension unit 205 determines whether an "Extension" parameter exists in the PT in the intermediate data. If "Extension" does not exist in S1102, the process proceeds to S1105. If "Extension" exists in S1102, the process proceeds to S1103.
[0050] In S1103, the layout extension unit 205 determines whether the extension function described in the Extension is a function of the layout extension unit 205 itself. In the case of the PT shown in Fig. 9, the layout print setting, which is a function of the layout extension unit 205, is described in the Extension. Therefore, the process proceeds to S1104. If the function of the layout extension unit 205 is not described in the Extension, the process proceeds to S1105.
[0051] In S1104, the layout extension unit 205 executes the described extension function. That is, in the case of the PT shown in FIG. 9, processing is executed to lay out four pages of data on one page of paper. This corresponds to the layout extension unit 205 editing the drawing data in the intermediate data. Then, in S1105, the layout extension unit 205 outputs the edited intermediate data (including the edited drawing data and the PT) to the print data generation software 202.
[0052] 11, the print data generation software 202 executes processing for functions other than the extended functions (functions that the print data generation software 202 can provide) based on the PT in the acquired intermediate data. The print data generation software 202 then generates print data (also called print commands) in a format that can be interpreted by the printing device. The print data generation software 202 then outputs the generated print data and the PT in the intermediate data acquired from the layout extension unit 205. The OS also launches the preview unit 206 of the integrated extension application 203.
[0053] <Preview Unit 206 Processing> Next, the processing of the preview unit 206 will be described with reference to Fig. 12. Fig. 12 is a flowchart showing the processing of the preview unit 206. Hereinafter, the preview unit 206 may be described as the subject of each process, but in reality, the corresponding function is realized by the CPU 111 executing the corresponding program (integrated extension application 203). Note that not all processing is necessarily executed sequentially in one process, and there may be cases where processing is transferred to the OS side once and then called again by the OS. This is merely a flow diagram showing the main processing of the integrated extension application 203 for the sake of convenience and in an easy-to-understand manner.
[0054] First, in S1201, the preview unit 206 acquires the print data generated by the print data generation software 202 and the PT.
[0055] In S1202, it is determined whether or not an "Extension" parameter exists in the acquired PT. If "Extension" does not exist in S1202, the process proceeds to S1205. If "Extension" exists in S1202, the process proceeds to S1203.
[0056] In S1203, the preview unit 206 determines whether the extended function described in the Extension is a function of the preview unit 206 itself. In the case of the PT shown in Fig. 9, print preview, which is a function of the preview unit 206, is described in the Extension. Therefore, the process proceeds to S1204. If the function of the preview unit 206 is not described in the Extension, the process proceeds to S1205.
[0057] In S1204, the preview unit 206 executes the described extended function. That is, in the case of the PT shown in Fig. 9, a print preview process is executed. The print preview process is to display a print preview screen including a preview image based on the acquired print data, and for example, a print preview screen such as that shown in Fig. 5 is displayed. Note that the print preview screen may display control items that can change print settings together with the preview image.
[0058] When a print instruction is given using a Print button or the like provided on the print preview screen, the preview unit 206 outputs the print data in S1205. The output print data is sent to the printing device 102.
[0059] If the print settings are changed by a user operation using a control item that can change the print settings and is displayed together with the preview image, the preview unit 206 may edit the print data based on the changes. Then, the preview unit 206 may perform print preview processing again based on the edited print data.
[0060] As described above, the integrated extension application 201 of this embodiment can provide a print setting screen and generate print setting information based on input on this print setting screen. When generating this print setting information, the setting information related to the extended functions is described so that it cannot be edited (changed or deleted) due to a consistency check by the OS. By performing this processing, the integrated extension application 203, which is launched multiple times at different times, can properly acquire the setting information related to the extended functions set for each print job even at subsequent launch times.
[0061] In the above example, the setting information for the extended function is described by adding non-editable parameters to the print setting information. However, this embodiment is not limited to this. Other methods for saving the setting information for the extended function are conceivable. For example, the print setting screen extension unit 204 writes only a unique identifier for identifying the print job in the print setting information. The print setting screen extension unit 204 then saves information indicating the actual print settings together with the identifier in an external file separate from the print setting information. The layout extension unit 205 or preview unit 206, which are subsequently launched, may refer to the external file with the matching identifier and read the information about the print settings if the identifier is found in the print setting information. The external file is a file accessible by each unit of the integrated extension application 201, and may be a file called a UserPropertyBag or a QueuePropertyBag. Alternatively, the setting information may be written in a text file or the like and saved in a location not accessible by ordinary users.
[0062] Furthermore, the print setting screen extension unit 204 can store print settings in a registry (a database of setting information provided by the OS) rather than in an external file, enabling processing similar to that when using an external file. Even when using an external file or registry, the print setting information stored in such a storage location is not edited by the OS, even if a consistency check of the print setting information is performed. Therefore, the integrated extension application 203 can properly acquire setting information related to the extended function at subsequent startup times.
[0063] <<Embodiment 2>> In the first embodiment, the print setting screen extension unit 204 appropriately extends the print setting information, thereby enabling the settings to be transmitted to an extension application that is launched later. However, in the configuration of the first embodiment, the capability information of the print data generation software 202 does not include functions that can be realized by the integrated extension application 203. Therefore, functions that can actually be realized by the print data generation software 202 appear to be impossible to realize from the drawing application 201.
[0064] Some applications display some print settings on their UI, allowing the user to select them. For these applications, the configuration of the first embodiment is not suitable. This is because such applications typically control the UI so that only the functions listed in the capability information of the print data generation software are displayed. This can result in functions that are actually operable not being provided to the user. Therefore, the present embodiment aims to solve the problem proposed here while returning correct capability information of the print data generation software 202 to the drawing application 201.
[0065] In this embodiment, when the integrated extension application 203 is installed, the capability information (PC) of the print data generation software 202 is extended. Specifically, when the integrated extension application 203 described in the first embodiment is installed in association with the print data generation software 202, which typically has capability information such as 701 in FIG. 7, the capability information is extended as shown in FIG. 13. The capability information is extended by the OS. Specifically, when a request for capability information is received from the drawing application 201 or the like, the OS adds capability information indicating the functions of the integrated extension application 203 to the capability information indicating the functions of the print data generation software 202 and transmits the resulting information. For example, when the drawing application 201 or the like displays a UI for print settings, it needs to know the capability information. Therefore, in such a case, the drawing application 201 or the like requests the capability information, and the OS transmits the capability information to the requestor.
[0066] In the capability information shown in Figure 13, the OS adds capability information for the four-page layout printing function and print preview function of the integrated extension application 203 to the capability information of the print data generation software 202. Because the capability information is extended, print settings related to the extended function are not deleted even if the application 201 performs a consistency check of the print settings. Therefore, if the integrated extension application 203 is installed, the OS performs a process to add the capability information, but if it is not installed, the OS does not perform the process to add the capability information. Possible means for the integrated extension application 203 to communicate the capability information to the OS include providing a dedicated API or writing the information in a registry or external file.
[0067] Through the above processing, correct capability information of the print data generation software 202 is returned to the application 201, and setting information regarding the extended function set for each print job can also be obtained by an extension application launched at a later time.
[0068] In this embodiment, the print setting screen extension unit 204 of the integrated extension application 203 operates as if no extension function exists. That is, the determination process of S1002 in FIG. 10 always returns NO. Then, in S1003, the PT is generated as usual. Also, in this embodiment, the layout extension unit 205 and preview unit 206 of the integrated extension application 203 do not need to check whether "Extension" is described in the PT. That is, there is no need to execute steps S1102 in FIG. 11 and S1202 in FIG. 12. The layout extension unit 205 skips S1102 and proceeds to S1103 to determine whether its own function is described in the PT. Also, the preview unit 206 skips step S1202 and proceeds to step S1203 to determine whether its own function is described in the PT. The subsequent processing is the same as in the first embodiment.
[0069] <<Embodiment 3>> The above-described embodiments can also be implemented by performing the following process. That is, a recording medium storing software program code that realizes the functions of the above-described embodiments is supplied to a system or device. Then, a computer (or a CPU or MPU) of the system or device reads and executes the program code stored on the recording medium. This achieves the above-described object. In this case, the program code read from the storage medium itself realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
[0070] Examples of storage media that can be used to supply the program code include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs.
[0071] Furthermore, the functions of the above-described embodiments are not only realized by a computer reading and executing the program code, but also include cases where an operating system running on a computer performs some or all of the actual processing based on the instructions of the program code, thereby realizing the functions of the above-described embodiments.
[0072] Furthermore, the program code read from the storage medium may be written to a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to the computer. Then, based on the instructions of the program code, a CPU provided on the function expansion board or function expansion unit may perform some or all of the actual processing. This processing realizes the functions of the above-mentioned embodiments. [Explanation of symbols]
[0073] 102 Printing device 202 Printing data generation software 203 Integrated Extension Application 204 Print Setting Expansion Unit 205 Layout Expansion Unit 206 Preview Unit
Claims
1. In the information processing device, displaying a second print setting screen on which a first setting value that can be set on a first print setting screen provided by the printing software, the printing software being incorporated into an operating system and capable of outputting print data that can be printed on a plurality of printing devices of a plurality of different vendors to the plurality of printing devices, and a second setting value that cannot be set on the first print setting screen can be set; An application program that forms print setting information including a second setting value set by a user via the second print setting screen, in which information corresponding to the second setting value set by the user via the second print setting screen and information for preventing the second setting value from being changed by the operating system are associated with each other.
2. 2. The application program according to claim 1, wherein the printing software is provided by a provider of the operating system of the information processing device, and the application program is a vendor-specific application program that provides the printing device to which the print data is sent.
3. 3. The application program according to claim 1, further causing the information processing apparatus to provide the print setting information to an application that provides image data to be printed.
4. An application program as described in any one of claims 1 to 3, characterized in that when the second setting value set by the user via the second print setting screen is included in the print setting information, information that is not added to the first setting value is added so that the second setting value is not edited by the operating system.
5. 5. The application program according to claim 1, further causing the information processing device to edit intermediate data when the print setting information further includes information corresponding to setting values related to layout.
6. 6. The application program according to claim 1, further comprising causing the information processing device to display a preview image when the print setting information includes information corresponding to setting values related to a print preview.
7. 7. The application program according to claim 1, wherein the print setting information is a PrintTicket, and the information for preventing the second setting value from being changed by the operating system is a predetermined character string included in the PrintTicket.
8. 8. The application program according to claim 1, wherein the second setting value is determined when the application program is installed on the information processing apparatus.
9. 8. An application program according to claim 1, wherein the second setting value is determined by communicating with a printing device connected to the information processing device and depending on the functions of the printing device.
10. A control method for an information processing device that stores printing software, the control method being realized by an application program different from the printing software, comprising: displaying a second print setting screen on which a first setting value that can be set on a first print setting screen provided by the printing software, the printing software being incorporated into an operating system and capable of outputting print data that can be printed on a plurality of printing devices of a plurality of different vendors to the plurality of printing devices, and a second setting value that cannot be set on the first print setting screen can be set; A control method characterized by forming print setting information including a second setting value set by a user via the second print setting screen, in which information corresponding to the second setting value set by the user via the second print setting screen and information for preventing the second setting value from being changed by the operating system are associated with each other.
11. 11. A control method according to claim 10, wherein the printing software is provided by a provider of the operating system of the information processing device, and the application program is a vendor-specific application program that provides the printing device to which the print data is sent.
12. 12. The control method according to claim 10, further causing the information processing apparatus to provide the print setting information to an application that provides image data to be printed.
13. A control method according to any one of claims 10 to 12, characterized in that when the second setting value set by the user via the second print setting screen is included in the print setting information, information that is not added to the first setting value is added so that the second setting value is not edited by the operating system.
14. 14. The control method according to claim 10, wherein the information processing device is further made to edit intermediate data when the print setting information includes information corresponding to setting values relating to layout.
15. 15. The control method according to claim 10, further comprising causing the information processing device to display a preview image when the print setting information includes information corresponding to setting values related to a print preview.
16. 16. A control method according to claim 10, wherein the print setting information is a PrintTicket, and the information for preventing the second setting value from being changed by the operating system is a predetermined character string included in the PrintTicket.
17. 17. The control method according to claim 10, wherein the second setting value is determined when the application program is installed on the information processing apparatus.
18. 17. A control method according to claim 10, wherein the second setting value is determined by communicating with a printing device connected to the information processing device and depending on the functions of the printing device.
19. An information processing device that stores printing software and an application program different from the printing software, a second print setting screen is displayed on which a first setting value that can be set on a first print setting screen provided by the printing software, the first setting value being embedded in an operating system and capable of outputting print data printable on a plurality of printing devices of a plurality of different vendors to the plurality of printing devices, and a second setting value that cannot be set on the first print setting screen can be set; An information processing device characterized in that, in print setting information including a second setting value set by a user via the second print setting screen, the print setting information is formed in such a manner that information corresponding to the second setting value set by the user via the second print setting screen and information for preventing the second setting value from being changed by the operating system are associated with each other.
Citation Information
Patent Citations
Printing system, control method of printing system and program
JP2016146167A
Communication control device, communication control driver, and communication control method
JP2017016480A
Information processing device and program
JP2017068304A
Information processing apparatus, information processing system, information processing method, and program
JP2018049581A
Printer driver, information processing device, and image processing system
JP2018092583A