Print control device, print control method, and print control program
The print control device and method address the issue of custom class driver loading failures during OS updates by incorporating a custom processing unit and print management unit to ensure continued printing functionality or graceful stopping.
Patent Information
- Application Number
- JP2021121307
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-07-26
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2041-07-26
AI Technical Summary
OS updates can cause personal computers to fail in loading custom class drivers, leading to printer malfunctions and incorrect communication.
A print control device and method that includes a standard printing control unit and a custom processing unit. The custom processing unit hides the functions of the standard communication control unit and customizes the printing process based on print data. A print management unit adds an identifier to the print data and detects the loading state of the custom class driver, allowing for restricted printing or stopping the process if the driver fails to load.
The solution ensures that printing can continue with restricted functionality or be stopped gracefully if the custom class driver fails to load, preventing printer malfunctions and communication errors.
Smart Images

Figure 0007647417000001 
Figure 0007647417000002 
Figure 0007647417000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a print control device, a print control method, and a print control program for a computer that causes a printer to execute printing. [Background technology]
[0002] There are known USB printers that communicate with personal computers according to the Universal Serial Bus (USB). A USB printer class driver that comes with the operating system (OS) is used for communication between the personal computer and the USB printer. Custom class drivers are also used to wrap, or hide, the functions of the USB printer class driver. Custom class drivers are used to process the data sent to the printer and customize the USB communication sequence, and are placed between the OS's standard printing system service and the USB printer class driver.
[0003] For reference, the information processing device disclosed in Patent Document 1 notifies the user that a communication error is expected to occur if it determines that model-specific information stored in a memory unit matches the model-specific information of an incompatible USB storage device in which a communication error is expected to occur. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2009-193358 A Summary of the Invention [Problem to be solved by the invention]
[0005] Due to factors such as OS updates, a personal computer running an OS may fail to load a custom class driver. If a personal computer fails to load a custom class driver, problems such as printer malfunctions and improper communication may occur. [Means for solving the problem]
[0006] The print control device of the present invention is a print control device for a computer, in which a standard print control unit that functions by executing an operating system causes a printer to execute printing according to print data via a standard communication control unit that functions by executing the operating system, a custom processing unit that functions by executing a custom class driver that hides the function of the standard communication control unit and customizes the process of causing the printer to execute the printing based on the print data passed from the standard print control unit; a print management unit that adds an identifier to the print data that is to be passed through the custom processing unit, and passes the print data to which the identifier has been added to the standard print control unit; the customization processing unit, if the identifier has been added to the print data passed from the standard print control unit, deletes the identifier from the print data and customizes a process for causing the printer to execute the printing based on the print data; The printing management unit has a configuration in which it detects the loading status of the custom class driver by executing the operating system, and if the loading status indicates a failure to load the custom class driver, it passes the print data without the identifier to the standard printing control unit, thereby causing the printer to perform the restricted printing via the standard communication control unit, or stops the printing.
[0007] A print control method of the present invention is a print control method for a computer, in which a standard print control unit that functions by executing an operating system causes a printer to execute printing according to print data via a standard communication control unit that functions by executing the operating system, a customization processing step in which the computer executes a custom class driver for customizing a process of hiding the function of the standard communication control unit and causing the printer to execute the printing based on the print data passed from the standard print control unit; a print management step of adding an identifier to the print data to be passed through the custom class driver, and transmitting the print data to which the identifier has been added to the standard print control unit by the computer; In the customization processing step, if the identifier is added to the print data passed from the standard print control unit, the computer deletes the identifier from the print data and customizes a process for causing the printer to execute the printing based on the print data; In the printing management process, the computer detects the loading status of the custom class driver by executing the operating system, and if the loading status indicates a failure to load the custom class driver, passes the print data without the identifier to the standard printing control unit, thereby causing the printer to perform the restricted printing via the standard communication control unit, or stops the printing.
[0008] Furthermore, a print control program of the present invention is a print control program for a computer, the print control program causing a printer to execute printing according to print data via a standard print control function that an operating system causes a computer to realize, the standard print control function being realized by the operating system in the computer, including custom class drivers and filter modules; the custom class driver causes the computer to realize a custom processing function that hides the standard communication control function and customizes a process for causing the printer to execute the printing based on the print data passed from the standard print control function; the filter module causes the computer to realize a print management function of adding an identifier to the print data that is to be passed through the custom class driver, and passing the print data to which the identifier has been added to the standard print control function; the custom processing function, when the identifier is added to the print data passed from the standard print control function, deletes the identifier from the print data and customizes a process for causing the printer to execute the printing based on the print data; The printing management function has a configuration in which it detects the loading status of the custom class driver by executing the operating system, and if the loading status indicates a failure to load the custom class driver, it passes the print data without the identifier to the standard printing control function, thereby causing the printer to perform the restricted printing via the standard communication control function, or stops the printing. [Brief description of the drawings]
[0009] [Figure 1] FIG. 2 is a block diagram illustrating an example of the configuration of a computer and a printer. [Diagram 2] FIG. 1 is a block diagram illustrating an example of the relationship between components in a computer and a printer. [Diagram 3] FIG. 13 is a diagram illustrating an example of determining the loading state of a custom class driver by adding a unique field to a USB standard command. [Figure 4] FIG. 13 is a diagram illustrating an example of adding a unique field to a USB standard command. [Diagram 5] FIG. 11 is a diagram illustrating an example in which the loading state of a custom class driver is determined by storing printer-specific information in a shared memory. [Figure 6] FIG. 13 is a diagram illustrating an example of an option setting screen for selecting a process to be performed when loading of a custom class driver fails. [Figure 7] 4 is a flowchart showing an example of a print control process according to a loading state of a custom class driver in accordance with the flow shown in FIG. 3. [Figure 8] 6 is a flowchart showing another example of the print control process according to the loading state of the custom class driver in accordance with the flow shown in FIG. 5 . [Figure 9] 11A and 11B are diagrams illustrating the flow of print data when a custom class driver is not loaded in a comparative example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following embodiments of the present invention will be described. Of course, the following embodiments are merely illustrative of the present invention, and not all of the features shown in the embodiments are necessarily essential to the solution of the invention.
[0011] (1) Overview of the technology included in this invention: First, the outline of the technology included in the present invention will be described with reference to the examples shown in Figures 1 to 9. The figures in this application are diagrams showing examples in a schematic manner, and the magnification in each direction shown in these figures may differ, and the figures may not be consistent with each other. Of course, each element of the present technology is not limited to the specific example indicated by the symbol. In the "outline of the technology included in the present invention," the words in parentheses indicate supplementary explanations of the immediately preceding words.
[0012] [Aspect 1] As illustrated in Figs. 1 to 3, the print control device 1 according to one aspect of the present technology is a print control device 1 for a computer (e.g., a host device 100) in which a standard print control unit U1, which functions by executing an operating system (OS), causes a printer 200 to execute printing according to print data D1 via a standard communication control unit U2, which functions by executing the operating system (OS), and includes a custom processing unit U4 and a print management unit U3. The custom processing unit U4 functions by executing a custom class driver 152, hides the function of the standard communication control unit U2, and customizes the process of causing the printer 200 to execute the printing based on the print data D1 passed from the standard print control unit U1. The print management unit U3 adds an identifier D2 to the print data D1 that is passed through the custom processing unit U4, and passes the print data D1 with the identifier D2 added to the standard print control unit U1. If the identifier D2 is added to the print data D1 passed from the standard print control unit U1, the custom processing unit U4 deletes the identifier D2 from the print data D1 and customizes a process for making the printer 200 execute the printing based on the print data D1. The print management unit U3 detects the loading status of the custom class driver 152 by execution of the operating system (OS). If the loading status indicates a failure to load the custom class driver 152, the print management unit U3 passes the print data D1 without the identifier D2 added to the standard print control unit U1 to make the printer 200 execute the printing restricted via the standard communication control unit U2, or stops the printing.
[0013] When the OS is executed and the custom class driver 152 is loaded, the print data D1 with the identifier D2 added is passed from the print manager U3 to the custom processing unit U4 via the standard print control unit U1. The custom processing unit U4 deletes the identifier D2 from the print data D1 and customizes the process of causing the printer 200 to print based on the print data D1. If the OS fails to load the custom class driver 152, the print data D1 passed from the print manager U3 to the standard print controller U1 is passed directly from the standard print controller U1 to the standard communication controller U2. If the identifier D2 is added to the print data D1, the printer 200 may not be able to correctly interpret the print data D1 received from the standard communication controller U2, and may malfunction or print incomprehensible information. If the print manager U3 of the above-mentioned aspect 1 fails to load the custom class driver 152, the print data D1 without the identifier D2 is passed from the print manager U3 to the standard print controller U1, and is passed to the printer 200 via the standard communication controller U2, or printing is stopped. When the printer 200 executes printing, the printer 200 can execute printing correctly according to the print data D1 without the identifier D2. Therefore, the above-mentioned aspect 1 can provide a print control device that suppresses printing problems caused by failure to load the custom class driver.
[0014] Here, the printer is not limited to a standalone device, but includes a copy machine, a facsimile, a multifunction machine having a document reading function and a printing function, etc. This remark also applies to the following aspects. The loading status of the custom class driver can be detected in various ways, as exemplified in ways 2 and 3 described below.
[0015] [Aspect 2] The standard communication control unit U2 may communicate with the printer 200 in accordance with the USB standard. As illustrated in FIG. 3, the print management unit U3 may request the standard print control unit U1 to acquire a USB standard command 230 that identifies the printer 200. When the custom processing unit U4 receives an acquisition request for the USB standard command 230 (for example, a USB standard command acquisition request RQ1) from the standard print control unit U1, the custom processing unit U4 may acquire the USB standard command 230 from the printer 200 via the standard communication control unit U2. As illustrated in FIGS. 3 and 4, the custom processing unit U4 may add a unique field 231 to the USB standard command 230. The custom processing unit U4 may pass the USB standard command 230 to which the unique field 231 has been added to the standard print control unit U1. As illustrated in FIG. 7, the print management unit U3 may detect the read state by determining whether the unique field 231 has been added to the USB standard command 230 passed from the standard print control unit U1. If the unique field 231 is not added, the printing management unit U3 may pass the printing data D1 without the identifier D2 added to the standard printing control unit U1, thereby causing the printer 200 to perform the restricted printing via the standard communication control unit U2, or may stop the printing.
[0016] When the OS is executed and the custom class driver 152 is loaded, a unique field 231 is added by the custom processing unit U4 to the USB standard command 230 obtained from the printer 200 via the standard communication control unit U2, and the USB standard command 230 is passed to the print management unit U3 via the standard communication control unit U2. If the unique field 231 has been added to the USB standard command 230, the print management unit U3 determines that the loading of the custom class driver 152 was successful, and passes the print data D1 with the identifier D2 added to the standard print control unit U1, thereby causing the printer 200 to perform customized printing. If the OS fails to load the custom class driver 152, the unique field 231 is not added to the USB standard command 230 acquired from the printer 200 via the standard communication control unit U2. Therefore, the USB standard command 230 to which the unique field 231 is not added is passed to the print management unit U3 via the standard communication control unit U2. If the unique field 231 is not added to the USB standard command 230, the print management unit U3 determines that the loading of the custom class driver 152 has failed, and passes the print data D1 to which the identifier D2 is not added to the standard print control unit U1, thereby causing the printer 200 to perform restricted printing via the standard communication control unit U2, or stops printing. When the printer 200 executes printing, the printer 200 can correctly execute printing according to the print data D1 to which the identifier D2 is not added.
[0017] As described above, the above-mentioned second aspect can provide a suitable example for determining whether or not the loading of a custom class driver has succeeded.
[0018] [Aspect 3] As illustrated in FIG. 5, the custom processing unit U4 may create a shared memory 160 shared by the custom processing unit U4 and the print management unit U3. The custom processing unit U4 may store printer-specific information 170 indicating the printer 200, which is passed from the standard printing control unit U1, in the shared memory 160. As illustrated in FIG. 8, the print management unit U3 may receive the printer-specific information 170 from the standard printing control unit U1 and detect the read state by determining whether or not the shared memory 160 in which the printer-specific information 170 is stored is present. If the shared memory 160 in which the printer-specific information 170 is stored is not present, the print management unit U3 may pass the print data D1 to which the identifier D2 is not added to the standard printing control unit U1 to cause the printer 200 to execute the restricted printing via the standard communication control unit U2, or may stop the printing.
[0019] When the OS is executed and the custom class driver 152 is loaded, a shared memory 160 shared by the custom processing unit U4 and the print management unit U3 is created, and the printer-specific information 170 passed from the standard printing control unit U1 is stored in the shared memory 160. Therefore, if there is shared memory 160 storing the printer-specific information 170 passed from the standard printing control unit U1 to the print management unit U3, the print management unit U3 determines that the loading of the custom class driver 152 was successful, and passes the print data D1 with the identifier D2 added to the standard printing control unit U1, thereby causing the printer 200 to execute customized printing. If the OS fails to load the custom class driver 152, the shared memory 160 shared by the custom processing unit U4 and the print management unit U3 is not created, and the printer-specific information 170 is not stored in the shared memory 160. Therefore, if there is no shared memory 160 in which the printer-specific information 170 passed from the standard printing control unit U1 to the print management unit U3 is stored, the print management unit U3 determines that the loading of the custom class driver 152 has failed, and passes the print data D1 without the identifier D2 to the standard printing control unit U1, causing the printer 200 to perform restricted printing via the standard communication control unit U2, or stops printing. When the printer 200 executes printing, the printer 200 can correctly execute printing according to the print data D1 without the identifier D2.
[0020] As described above, the above-mentioned third aspect can also provide a suitable example for determining whether or not the loading of a custom class driver has succeeded. Here, the absence of shared memory 160 in which printer-specific information 170 is stored includes a case in which there is no shared memory 160 shared by the custom processing unit U4 and the print management unit U3, and a case in which shared memory 160 is present but printer-specific information 170 is stored in the shared memory 160.
[0021] [Aspect 4] As illustrated in FIG. 6, the print management unit U3 may accept a selection of either a restriction process (e.g., the process of steps S116 and S216 shown in FIG. 7 and 8) in which the print data D1 to which the identifier D2 is not added is passed to the standard print control unit U1 to cause the printer 200 to execute the restricted printing via the standard communication control unit U2, or a stop process (e.g., the process of steps S118 and S218 shown in FIG. 7 and 8) in which the printing is stopped, as a process to be performed when the read status indicates a failure to read the custom class driver 152. The print management unit U3 may also carry out the process that accepts the selection when the read status indicates a failure to read the custom class driver 152. This allows the user to select whether to perform restricted printing or stop printing when the read of the custom class driver 152 has failed. Therefore, this aspect can improve the convenience of the user.
[0022] [Aspect 5] As exemplified in FIGS. 7 and 8, when the loading status indicates a failure to load the custom class driver 152, the print management unit U3 may cause the printer 200 to execute the restricted printing via the standard communication control unit U2, or may output information to the effect that the printing is to be stopped (for example, "Printing with restricted functions" or "Printing will be stopped" as shown in FIGS. 7 and 8). This allows the user to understand that loading the custom class driver 152 has failed. Therefore, this aspect can improve user convenience.
[0023] [Aspect 6] 1, the print control device 1 may further include a display unit (e.g., a display device 116) that displays the information indicating whether the printer 200 should execute the restricted printing via the standard communication control unit U2 or whether the printing should be stopped. This allows the user to understand that loading of the custom class driver 152 has failed by looking at the display unit (116). Therefore, this embodiment can further improve user convenience.
[0024] [Aspect 7] A print control method according to one aspect of the present technology is a print control method for a computer (100) in which a standard print control unit U1, which functions by executing an operating system (OS), causes a printer 200 to execute printing according to print data D1 via a standard communication control unit U2, which functions by executing the operating system (OS), and includes a custom processing step ST1 and a print management step ST2, as exemplified in FIGS. 2, 3, and 5. In the custom processing step ST1, the computer (100) executes a custom class driver 152 for hiding the function of the standard communication control unit U2 and customizing a process for causing the printer 200 to execute the printing based on the print data D1 passed from the standard print control unit U1. In the print management step ST2, the computer (100) adds an identifier D2 to the print data D1 to be passed through the custom class driver 152, and executes a process of passing the print data D1 to which the identifier D2 has been added to the standard print control unit U1. In the customization processing step ST1, if the identifier D2 is added to the print data D1 passed from the standard print control unit U1, the computer (100) deletes the identifier D2 from the print data D1 and customizes a process for making the printer 200 execute the printing based on the print data D1. In the print management step ST2, the computer (100) detects the loading status of the custom class driver 152 by execution of the operating system (OS), and if the loading status indicates a failure to load the custom class driver 152, passes the print data D1 without the identifier D2 added to the standard print control unit U1 to make the printer 200 execute the restricted printing via the standard communication control unit U2, or stops the printing.
[0025] When the custom class driver 152 is loaded by executing the OS, an identifier D2 is added to the print data D1 that passes through the custom class driver 152. In this case, the identifier D2 is deleted from the print data D1 in the custom processing step ST1, and the process of causing the printer 200 to execute printing based on the print data D1 is customized. If the OS fails to load the custom class driver 152, the print data D1 without the identifier D2 is passed to the standard print control unit U1 or printing stops in the print management step ST2. When the printer 200 executes printing, the printer 200 can execute printing correctly according to the print data D1 without the identifier D2. Therefore, the above-mentioned aspect 7 can provide a print control method that suppresses printing problems caused by failure to load the custom class driver.
[0026] [Aspect 8] 1 to 3 and the like, a print control program PR0 according to an embodiment of the present technology is a print control program PR0 for a computer (100) in which a standard print control function FU1 that an operating system (OS) causes the computer (100) to realize causes the printer 200 to execute printing according to print data D1 via a standard communication control function FU2 that the operating system (OS) causes the computer (100) to realize, and includes a custom class driver 152 and a filter module 151. The custom class driver 152 causes the computer (100) to realize a custom processing function FU4 that hides the standard communication control function FU2 and customizes the process of causing the printer 200 to execute the printing based on the print data D1 passed from the standard print control function FU1. The filter module 151 causes the computer (100) to realize a print management function FU3 that adds an identifier D2 to the print data D1 that is to be passed through the custom class driver 152, and passes the print data D1 with the identifier D2 added to the standard print control function FU1. When the identifier D2 is added to the print data D1 passed from the standard print control function FU1, the custom processing function FU4 deletes the identifier D2 from the print data D1 and customizes a process for making the printer 200 execute the printing based on the print data D1. The print management function FU3 detects the loading state of the custom class driver 152 by execution of the operating system (OS), and when the loading state indicates a failure to load the custom class driver 152, passes the print data D1 without the identifier D2 added to the standard print control function FU1, thereby causing the printer 200 to execute the printing restricted via the standard communication control function FU2, or stops the printing.
[0027] When the OS is executed and the custom class driver 152 is loaded, an identifier D2 is added to the print data D1 that passes through the custom class driver 152. The identifier D2 is deleted from the print data D1 by the custom processing function FU4, and the process of causing the printer 200 to execute printing based on the print data D1 is customized. If the OS fails to load the custom class driver 152, the print management function FU3 passes the print data D1 without the identifier D2 to the standard print control function FU1, or stops printing. When the printer 200 executes printing, the printer 200 can correctly execute printing according to the print data D1 without the identifier D2. Therefore, the above-mentioned aspect 8 can provide a print control program that suppresses printing problems caused by failure to load the custom class driver.
[0028] Furthermore, the present technology can be applied to a multifunction device including the above-mentioned print control device, a print control method for the multifunction device, a control program for the multifunction device, a computer-readable medium on which the control program or the print control program is recorded, etc. Any of the above-mentioned devices may be composed of multiple distributed parts.
[0029] (2) Specific examples of computer configurations including print control devices: Fig. 1 shows a schematic example of the configuration of a host device 100 and a printer 200. Fig. 2 shows a schematic example of the relationship between the components of the host device 100 and the printer 200. The host device 100 is a computer that executes an OS 130, and functions as a print control device 1 by installing a print control program PR0. The host device 100 is connected to a CPU 111, a ROM 112, a RAM 113, a storage device 114, an input device 115, a display device 116, a communication I / F 117, and the like, so that information can be input and output between them. Here, CPU is an abbreviation for Central Processing Unit, ROM is an abbreviation for Read Only Memory, RAM is an abbreviation for Random Access Memory, and I / F is an abbreviation for interface. The ROM 112, the RAM 113, and the storage device 114 are memories, and at least the ROM 112 and the RAM 113 are semiconductor memories. The display device 116 is an example of a display unit. When the host device 100 is a desktop personal computer, the display device 116 is connected to the outside of a main body that includes the CPU 111, etc. When the host device 100 is a notebook personal computer or a tablet terminal, the main body that includes the CPU 111, etc. includes the display device 116. In either case, the print control device 1 outputs display data to the display device 116, so that the display device 116 displays a screen corresponding to the display data.
[0030] The storage device 114 stores an OS 130, a print control program PR0, etc. These are read into the RAM 113 as appropriate and used for print control processing. The storage device 114 may be a non-volatile semiconductor memory such as a flash memory, a magnetic storage device such as a hard disk, etc. The input device 115 may be a pointing device, hard keys including a keyboard, a touch panel attached to the surface of a display panel, etc. The display device 116 may be a liquid crystal display panel, etc. The communication I / F 117 is connected to a communication I / F 210 of the printer 200, and inputs and outputs information such as print data D1 and USB standard commands 230 to the printer 200. The communication I / Fs 117 and 210 communicate in accordance with the USB standard. The host device 100 and the printer 200 may be connected by wire or wirelessly. Host device 100 may have all components 111 to 117 housed in one housing, but may also be composed of multiple devices separated so as to be able to communicate with each other.
[0031] The OS 130 includes MacOS (registered trademark), Linux (registered trademark), Windows (registered trademark), and the like. The OS 130 shown in FIGS. 1 and 2 includes a print system service 131 that causes the host device 100 to function as a standard print control unit U1, and a USB class driver 132 that causes the host device 100 to function as a standard communication control unit U2. Therefore, the standard print control unit U1 and the standard communication control unit U2 function by the execution of the OS 130. The print system service 131 is also called cupsd, and causes the host device 100 to realize a standard print control function FU1. The USB class driver 132 is also called a USB printer class driver, and causes the host device 100 to realize a standard communication control function FU2. The standard print control function FU1 causes the printer 200 to execute printing according to the print data D1 via the standard communication control function FU2. The standard communication control function FU2 communicates with the printer 200 according to the USB standard. Furthermore, the OS 130 can cause the host device 100 to realize a function of wrapping, that is, hiding, the OS-standard USB class driver 132. In order to hide the function of the USB class driver 132, a custom class driver 152, which will be described later, is used.
[0032] The print control program PR0 includes a custom class driver 152 for customizing a process in which the print system service 131 causes the host device 100 to execute printing based on print data D1 passed from a standard print control function FU1. The custom class driver 152 is loaded into the host device 100 by execution of the OS 130, causes the host device 100 to function as a custom processing unit U4, and hides a standard communication control function FU2 that the print system service 131 causes the host device 100 to execute. Thus, the custom processing unit U4 functions by execution of the custom class driver 152 that hides the function of the standard communication control unit U2. The custom class driver 152 causes the host device 100 to execute a custom processing function FU4 that hides the standard communication control function FU2 and customizes a process in which the printer 200 executes printing based on print data D1 passed from the standard print control function FU1. The custom processing function FU4 includes unique functions provided by the provider of the custom class driver 152. The unique functions include a function to obtain status information from the printer 200, such as when there is no printing paper or when the ink level is low immediately after starting the custom class driver 152, and display the information on the display device 116, and a function to obtain error information from the printer 200, such as when the printing paper or ink has run out during printing, and display the information on the display device 116. The unique functions also include shortening the interval at which information is obtained from the printer 200 in order to increase the frequency with which data is exchanged with the printer 200.
[0033] The print control program PR0 also includes a filter module 151 for passing the print data D1 through the custom class driver 152 to the print system service 131. The filter module 151 is also called a filter and is a module that generates the print data D1 based on the original data received from the print system service 131. The filter module 151 makes the host device 100 function as a print manager U3, adds an identifier D2 to the print data D1 that is passed through the custom processing unit U4, and passes the print data D1 with the identifier D2 added to the standard print control unit U1. Therefore, the print manager U3 functions by executing the filter module 151. The filter module 151 makes the host device 100 realize a print management function FU3 that adds an identifier D2 to the print data D1 that is passed through the custom class driver 152 and passes the print data D1 with the identifier D2 added to the standard print control function FU1. The host device 100 also has a filter module (not shown) for passing print data that does not pass through the custom class driver 152 to the print system service 131. This filter module passes the print data D1 to which the identifier D2 is not added to the print system service 131. The custom class driver 152, which receives the print data D1 to which the identifier D2 is not added from the print system service 131, passes the print data D1 as is to the USB class driver 132. The USB class driver 132, which receives the print data D1, transmits the print data D1 to the printer 200 in accordance with the USB standard.
[0034] The printer 200 shown in FIG. 1 is an inkjet printer that ejects at least C ink, M ink, Y ink, and K ink from a recording head 220 as color materials to form an output image IM0 corresponding to print data D1. Here, C means cyan, M means magenta, Y means yellow, and K means black. The recording head 220 is supplied with C, M, Y, and K inks from ink cartridges Cc, Cm, Cy, and Ck, respectively, and ejects C, M, Y, and K ink droplets 280 from nozzles Nc, Nm, Ny, and Nk, respectively. When the ink droplets 280 land on the printing paper ME0, ink dots are formed on the printing paper ME0. As a result, a printed matter having the output image IM0 on the printing paper ME0 is obtained. As shown in FIG. 2, the printer 200 stores printer identification information 240, such as the name of the printer 200 and a USB serial number, in a storage unit (not shown).
[0035] Next, the printing flow will be described with reference to FIG. When a user performs an operation to instruct the host device 100 to execute printing, the standard print control unit U1 that accepts this operation simultaneously starts the filter module 151 and the custom class driver 152, and passes printer-specific information 170 indicating the target printer 200 to the filter module 151 and the custom class driver 152. The print management unit U3 functions by executing the filter module 151, and the custom processing unit U4 functions by executing the custom class driver 152. The printer-specific information 170 is, for example, a device URI (uniform resource identifier of the device) including the device ID (device identification information) of the printer 200, the USB serial number, the Internet Protocol address abbreviated as IP address, the Bonjour service name, and the like. The standard print control unit U1 passes the original data that becomes the print data D1 to the print management unit U3. The print management unit U3 that receives the original data converts the original data into print data D1 that can be interpreted by the printer 200, and adds an identifier D2 indicating that the provider of the filter module 151 is the provider of the custom class driver 152 to the print data D1. The identifier D2 can be thought of as a mark for customizing the process of causing the printer 200 to execute printing. Therefore, the print management unit U3 adds the identifier D2 to the print data D1 that is to be routed through the custom class driver 152, and performs a print management step ST2 in which the print data D1 with the identifier D2 added is passed to the standard print control unit U1. When the standard print control unit U1 receives the print data D1 with the identifier D2 added from the print management unit U3, it passes the print data D1 with the identifier D2 added to the custom processing unit U4.
[0036] When the customization processing unit U4 receives the print data D1 from the standard print control unit U1, it checks whether the identifier D2 is added to the print data D1. If the identifier D2 is added to the print data D1, the customization processing unit U4 determines that the provider of the filter module 151 is the provider of the custom class driver 152. In this case, the customization processing unit U4 deletes the identifier D2 from the print data D1, processes the print data D1 to be sent to the printer 200, and performs custom processing to communicate with the printer 200 via the standard print control unit U1 in a communication mode unique to the provider. Therefore, the customization processing unit U4 performs a customization processing step ST1 that hides the function of the standard communication control unit U2 and customizes the process of making the printer 200 execute printing based on the print data D1 passed from the standard print control unit U1. If the identifier D2 is not added to the print data D1, the customization processing unit U4 determines that the filter module is different from the filter module 151, and passes the print data D1 to the standard communication control unit U2 as is. The standard communication control unit U2 communicates with the printer 200 in accordance with the USB standard, and sends the print data D1 to the printer 200. As described above, the standard printing control unit U1 causes the printer 200 to execute printing according to the print data D1 via the standard communication control unit U2.
[0037] The OS 130 is updated from time to time. Due to factors such as an OS update, the host device 100 may fail to load the custom class driver 152 when executing the OS 130. If the host device 100 running the OS 130 fails to load the custom class driver 152, problems such as malfunction of the printer 200 and improper communication may occur.
[0038] FIG. 9 shows a schematic diagram of the flow of print data D1 when the custom class driver 152 is not loaded in the comparative example. As shown in Fig. 9, there is no custom processing unit U4 between the standard printing control unit U1 and the standard communication control unit U2. In this case, when the standard printing control unit U1 receives print data D1 with the identifier D2 added from the print manager U3, it passes the print data D1 with the identifier D2 added to the standard communication control unit U2 as is. The standard communication control unit U2 sends the print data D1 together with the identifier D2 to the printer 200 according to the USB standard. Because the identifier D2 is added to the print data D1, the printer 200 cannot correctly interpret the print data D1, which may result in malfunction or inability to properly communicate with the host device 100.
[0039] In this specific example, the print manager U3 detects the loading status of the custom class driver 152 by executing the OS 130, and performs processing according to the loading status. If the detected loading status indicates successful loading of the custom class driver 152, the print manager U3 performs processing to add an identifier D2 to the print data D1 and pass the print data D1 with the identifier D2 added to the standard print control unit U1. If the detected loading status indicates a failure to load the custom class driver 152, the print manager U3 performs a restriction processing to cause the printer 200 to print in a function restriction mode, or a stop processing to stop printing. When performing the restriction processing, the print manager U3 passes the print data D1 without the identifier D2 added to the standard print control unit U1, causing the printer 200 to perform restricted printing via the standard communication control unit U2.
[0040] 3 shows a schematic example of a flow for determining the read state of the custom class driver 152 by adding a unique field 231 to a USB standard command 230. FIG. 4 shows a schematic example of a specific example of adding a unique field 231 to a USB standard command 230. The USB class driver 132 can cause the host device 100 to realize a function for acquiring the USB standard command 230 including the printer identification information 240, for example. The printer identification information 240 is, for example, a 1284DeviceID such as the name of the printer 200, a USB serial number, etc. When the print management unit U3, which functions by executing the filter module 151, requests the standard print control unit U1 to acquire the USB standard command 230, the USB standard command 230 is returned from the printer 200 to the print management unit U3 via the standard communication control unit U2, the custom processing unit U4, and the standard print control unit U1. Note that if the loading of the custom class driver 152 fails, when the print management unit U3 requests the standard print control unit U1 to acquire the USB standard command 230, the USB standard command 230 is returned from the printer 200 to the print management unit U3 via the standard communication control unit U2 and the standard print control unit U1.
[0041] The flow of causing the printer 200 to execute printing depending on the loading state of the custom class driver 152 is as follows. First, the print management unit U3 sends a USB standard command acquisition request RQ1 to the standard printing control unit U1 to acquire a USB standard command 230 from the printer 200. The standard printing control unit U1, which has received the USB standard command acquisition request RQ1, passes the USB standard command acquisition request RQ1 to the custom processing unit U4. The custom processing unit U4, which has received the USB standard command acquisition request RQ1, sends the USB standard command acquisition request RQ1 to the printer 200 via the standard communication control unit U2. The printer 200, which has received the USB standard command acquisition request RQ1, sends a USB standard command 230 including printer identification information 240 to the host device 100. The standard communication control unit U2, which has received the USB standard command 230, passes the USB standard command 230 to the custom processing unit U4.
[0042] The upper part of FIG. 4 shows the USB standard command 230 passed to the custom processing unit U4. In addition to printer identification information 240, this USB standard command 230 includes a field in which a key-value combination is repeated. The upper part of FIG. 4 shows a field including "Key1:Val1" and "Key2:Val2" as key-value combinations. After acquiring the USB standard command 230, the custom processing unit U4 adds a unique field 231 to the USB standard command 230, and passes the USB standard command 230 with the unique field 231 added to the standard printing control unit U1. For example, as shown in the lower part of FIG. 4, the custom processing unit U4 adds "Key3:Val3" as the unique field 231 to the existing field "Key1:Val1, Key2:Val2" in the USB standard command 230.
[0043] When the standard printing control unit U1 receives the USB standard command 230 to which the unique field 231 has been added from the custom processing unit U4, it passes the USB standard command 230 to which the unique field 231 has been added to the print management unit U3. If the reading of the custom class driver 152 fails, the USB standard command 230 to which the unique field 231 has not been added is passed from the standard communication control unit U2 to the standard printing control unit U1. In this case, the USB standard command 230 to which the unique field 231 has not been added is passed from the standard printing control unit U1 to the print management unit U3. Therefore, the print management unit U3 can detect the reading status of the custom class driver 152 by determining whether or not the unique field 231 has been added to the USB standard command 230 passed from the standard printing control unit U1. If the unique field 231 has been added to the USB standard command 230, the reading of the custom class driver 152 has been successful. In this case, the print management unit U3 adds an identifier D2 to the print data D1, and performs processing to pass the print data D1 with the identifier D2 added to the standard print control unit U1. If the unique field 231 is not added to the USB standard command 230, reading of the custom class driver 152 has failed. In this case, the print management unit U3 performs a restriction process to cause the printer 200 to print in a limited function mode, or a stop process to stop printing. When performing the restriction process, the print management unit U3 passes the print data D1 without the identifier D2 added to the standard print control unit U1, causing the printer 200 to perform limited printing via the standard communication control unit U2.
[0044] Furthermore, as shown in the example of FIG. 5, the loading status of the custom class driver 152 may be determined by storing printer-specific information 170 in the shared memory 160. The process that executes the filter module 151 is a separate process from the process that executes the custom class driver 152. Therefore, the specific example shown in Fig. 5 uses a shared memory 160 as a mechanism for sharing information between processes.
[0045] The flow of causing the printer 200 to execute printing depending on the loading state of the custom class driver 152 is as follows. When the standard printing control unit U1 receives an operation to instruct printing, it starts the filter module 151 and the custom class driver 152 at the same time, and passes printer-specific information 170 to both the print manager U3 and the custom processing unit U4. Upon receiving the printer-specific information 170, the custom processing unit U4 creates a shared memory 160 in the RAM 113 shown in Fig. 1 that is shared by the custom processing unit U4 and the print manager U3, and stores the printer-specific information 170 passed from the standard printing control unit U1 in the shared memory 160. Note that if loading of the custom class driver 152 fails, the shared memory 160 will not be created, and the printer-specific information 170 will not be written to the shared memory.
[0046] The print management unit U3 that has received the printer-specific information 170 can detect the loading status of the custom class driver 152 by determining whether or not there is a shared memory 160 in which the printer-specific information 170 is stored. If the shared memory 160 exists in the RAM 113 and the printer-specific information 170 is stored in the shared memory 160, the loading of the custom class driver 152 has been successful. In this case, the print management unit U3 performs a process of adding an identifier D2 to the print data D1 and passing the print data D1 with the identifier D2 added to the standard print control unit U1. If there is no shared memory 160 in which the printer-specific information 170 is stored, the loading of the custom class driver 152 has failed. In this case, the print management unit U3 performs a restriction process of causing the printer 200 to perform printing in a function restriction mode, or a stop process of stopping printing. When performing the restriction process, the print management unit U3 passes the print data D1 without the identifier D2 added to the standard print control unit U1 to cause the printer 200 to perform restricted printing via the standard communication control unit U2.
[0047] Furthermore, the host device 100 can detect the loading status of the custom class driver 152 if it can perform either one of the processes shown in Figures 3 and 5, but it may also have a configuration that is capable of performing both of the processes shown in Figures 3 and 5.
[0048] The loading status of the custom class driver 152 may be notified to the user. For example, when the print manager U3 causes the printer 200 to execute printing in a function-restricted mode when the loading fails, the print manager U3 may display a warning "Printing with function restrictions" on the display device 116 shown in FIG. 1. This warning is an example of information indicating that the printer 200 executes printing restricted via the standard communication control unit U2. When the print manager U3 stops printing when the loading fails, the print manager U3 may display an error message "Printing will be stopped" on the display device 116. This error message is an example of information indicating that printing will be stopped. The print manager U3 notifies the printer proxy of information such as "Printing with function restrictions" or "Printing will be stopped", thereby allowing the display device 116 to display the printing status when the loading fails on a screen that displays the printing progress. This makes it possible to notify the user of the printing status when the loading fails. When the loading of the custom class driver 152 is successful, the print manager U3 does not notify the printer proxy of anything.
[0049] The print management unit U3 can accept the selection of either a restriction process that causes the printer 200 to print in a limited function mode, or a stop process that stops printing, as the process to be performed when the load status indicates a failure to load the custom class driver 152. The process of accepting this selection can be performed using an option setting screen 300 that sets options for the printer driver, as exemplified in FIG.
[0050] FIG. 6 is a schematic diagram illustrating an option setting screen 300 for selecting a process to be performed when the custom class driver 152 fails to be read. The option setting screen 300 displayed on the display device 116 has a selection field 301 for "When the custom class driver fails to be read, execute printing with functional restrictions" and an OK button 302 in addition to selection fields such as "Reduce rubbing," "Save blank pages," and the like. The print management unit U3 accepts an operation to select either "on" or "off" in the selection field 301. Here, "on" means that a restriction process is performed when the read fails, and "off" means that a stop process is performed when the read fails. When the print management unit U3 accepts an operation of the OK button 302, it stores a setting value representing "on" or "off" for the selection field 301 in at least one of the RAM 113 and the storage device 114 (see FIG. 1). When the aforementioned setting value indicates "on," the print management unit U3 performs a restriction process when the read fails, and performs a stop process when the read fails when the aforementioned setting value indicates "off." In this manner, the print manager U3 performs the process that accepts the selection when the read status indicates that the custom class driver 152 has failed to be read.
[0051] Fig. 7 shows an example of performing print control processing according to the loading state of the custom class driver 152 in accordance with the flow shown in Fig. 3. This processing is performed by the print manager U3. The print control processing shown in Fig. 7 includes the processing of steps S102 to S118. In the following, the descriptions of "steps" will be omitted, and the step symbols will be shown in parentheses.
[0052] When the standard printing control unit U1 passes the original data to the printing management unit U3, the printing control process starts, and a USB standard command acquisition request RQ1 for acquiring the USB standard command 230 from the printer 200 is sent to the standard printing control unit U1 (S102). Next, the printing management unit U3 acquires the USB standard command 230 from the standard printing control unit U1 (S104). If the custom processing unit U4 is functioning, the custom processing unit U4 that receives the USB standard command acquisition request RQ1 from the standard printing control unit U1 during S102 to S104 sends the USB standard command acquisition request RQ1 to the printer 200 via the standard communication control unit U2. The custom processing unit U4 acquires the USB standard command 230 from the printer 200 via the standard communication control unit U2, adds a unique field 231 to the USB standard command 230, and passes the USB standard command 230 with the unique field 231 added to the standard printing control unit U1. Therefore, the print management unit U3 receives the USB standard command 230 with the unique field 231 added from the standard printing control unit U1. On the other hand, if the custom processing unit U4 is not functioning, during S102 to S104, the standard printing control unit U1 passes the USB standard command acquisition request RQ1 to the standard communications control unit U2. The standard communications control unit U2 sends the USB standard command acquisition request RQ1 to the printer 200, acquires the USB standard command 230 from the printer 200, and passes the USB standard command 230 to the standard printing control unit U1. Therefore, the print management unit U3 receives the USB standard command 230 without the unique field 231 added from the standard printing control unit U1.
[0053] After the process of S104, the print manager U3 determines whether or not the unique field 231 has been added to the USB standard command 230 received from the standard print controller U1 (S106). If the unique field 231 has been added, the custom class driver 152 has been successfully loaded. In this case, the print manager U3 adds an identifier D2 to the print data D1, and performs normal mode print processing to pass the print data D1 with the identifier D2 added to the standard print control unit U1 (S108), and ends the print control processing. The custom processing unit U4 deletes the identifier D2 from the print data D1 passed from the standard print control unit U1, and customizes the processing to cause the printer 200 to print based on the print data D1.
[0054] On the other hand, if the unique field 231 has not been added, the print management unit U3 acquires a setting value according to an operation on the selection column 301 shown in Fig. 6 (S110). Next, the print management unit U3 determines whether the setting value is "on", that is, whether printing is in the limited function mode (S112). If the above-mentioned setting value is "on", that is, printing in the function-restricted mode, the print management unit U3 outputs display data to the display unit 116 (see FIG. 1) to display a warning "printing with function-restricted" on the display unit 116 (S114). The display unit 116 displays the warning "printing with function-restricted" according to the display data. Therefore, the user can understand that the loading of the custom class driver 152 has failed, and can understand that printing in the function-restricted mode will be performed. After displaying the above-mentioned warning, the print management unit U3 passes the print data D1 without the identifier D2 to the standard print control unit U1, thereby causing the printer 200 to execute restricted printing via the standard communication control unit U2 (S116), and ends the print control process.
[0055] If the above-mentioned setting value is "off", meaning that printing is to be stopped, the print manager U3 outputs display data to the display device 116 to cause the display device 116 to display an error message saying "Printing will be stopped" (S118), and ends the print control process. The display device 116 displays the error message "Printing will be stopped" in accordance with the display data. Thus, the user can understand that loading of the custom class driver 152 has failed, and can understand that printing will be stopped.
[0056] Fig. 8 shows an example of performing print control processing according to the read state of the custom class driver 152 in accordance with the flow shown in Fig. 5. This processing is also performed by the print manager U3. When the standard printing control unit U1 passes the printer-specific information 170 and the original data to the printing management unit U3, the printing control process starts and the process of accessing the shared memory 160 is performed (S202). Next, the printing management unit U3 judges whether the shared memory 160 exists in the RAM 113 shown in FIG. 1 (S204). If the shared memory 160 does not exist, the reading of the custom class driver 152 has failed, so the printing management unit U3 advances the process to S210. If the shared memory 160 exists, the printing management unit U3 judges whether the printer-specific information 170 exists in the shared memory 160 (S206). If the printer-specific information 170 exists in the shared memory 160, the reading of the custom class driver 152 has been successful. In this case, the printing management unit U3 adds an identifier D2 to the print data D1, and performs normal mode printing process of passing the print data D1 with the identifier D2 added to the standard printing control unit U1 (S208), and ends the print control process. The customization processing unit U4 deletes the identifier D2 from the print data D1 passed from the standard printing control unit U1, and customizes the process of having the printer 200 execute printing based on the print data D1. If the printer-specific information 170 does not exist in the shared memory 160, loading of the custom class driver 152 has failed, so the printing management unit U3 advances the process to S210.
[0057] In S210, the print management unit U3 acquires a setting value according to an operation on the selection field 301 shown in Fig. 6. Next, the print management unit U3 determines whether the setting value is "on", that is, whether printing is performed in the limited function mode (S212). If the aforementioned setting value is "on", that is, printing in the functional restriction mode, the print management unit U3 causes the display device 116 (see FIG. 1) to display a warning message stating "Printing with functional restriction" (S214). Thus, the user can understand that loading of the custom class driver 152 has failed, and can understand that printing will be performed in the functional restriction mode. After displaying the aforementioned warning message, the print management unit U3 passes the print data D1 without the identifier D2 to the standard print control unit U1, thereby causing the printer 200 to execute restricted printing via the standard communication control unit U2 (S216), and ends the print control process.
[0058] If the above-mentioned setting value is "off", meaning that printing is to be stopped, the print manager U3 causes the display device 116 to display an error message stating "Printing will be stopped" (S218), and ends the print control process. Thus, the user can understand that loading of the custom class driver 152 has failed, and can understand that printing will be stopped.
[0059] As described above, the user can know that the OS has failed to load the custom class driver 152, and can select the print process to be performed when the load fails. When printing is performed in limited-function mode when the load fails, the print data D1 without the identifier D2 is passed from the print manager U3 to the standard print control unit U1, and then passed to the printer 200 via the standard communication control unit U2. This allows the printer 200 to correctly print according to the print data D1 without the identifier D2, without malfunctioning or printing incomprehensible information. Therefore, this specific example can suppress printing problems caused by the load failure of the custom class driver 152.
[0060] (3) Modification: The present invention contemplates various modifications. For example, the printer is not limited to an inkjet printer, but may be an electrophotographic printer such as a laser printer, a copier, a facsimile, a multifunction machine, a three-dimensional printer, or the like.
[0061] (4) Conclusion: As described above, according to the present invention, it is possible to provide a technique for suppressing printing problems caused by failure to load a custom class driver through various aspects. Of course, the basic actions and effects described above can be obtained even with a technique that does not have the constituent elements of the dependent claims and is composed only of the constituent elements of the independent claims. In addition, configurations in which the configurations disclosed in the above examples are substituted with each other or the combination is changed, configurations in which the configurations disclosed in the publicly known techniques and the above examples are substituted with each other or the combination is changed, etc. The present invention also includes these configurations. [Explanation of symbols]
[0062] 1...printing control device, 100...host device, 116...display device, 130...OS, 131...printing system service, 132...USB class driver, 151...filter module, 152...custom class driver, 160...shared memory, 170...printer-specific information, 200...printer, 230...USB standard command, 231...unique field, 240...printer identification information, 300...option setting screen, D1...printing data, D2...identifier, FU1...standard printing control function, FU2...standard communication control function, FU3...printing management function, FU4...custom processing function, PR0...printing control program, RQ1...USB standard command acquisition request, ST1...custom processing step, ST2...printing management step, U1...standard printing control unit, U2...standard communication control unit, U3...printing management unit, U4...custom processing unit.
Claims
1. A print control device for a computer, in which a standard print control unit that functions by executing an operating system causes a printer to execute printing according to print data via a standard communication control unit that functions by executing the operating system, a custom processing unit that functions by executing a custom class driver that hides the function of the standard communication control unit and customizes the process of causing the printer to execute the printing based on the print data passed from the standard print control unit; a print management unit that adds an identifier to the print data that is to be passed through the custom processing unit, and passes the print data to which the identifier has been added to the standard print control unit; the customization processing unit, if the identifier has been added to the print data passed from the standard print control unit, deletes the identifier from the print data and customizes a process for causing the printer to execute the printing based on the print data; The printing control device, wherein the printing management unit detects the loading status of the custom class driver by execution of the operating system, and if the loading status indicates a failure to load the custom class driver, either causes the printer to perform the restricted printing via the standard communication control unit by passing the printing data without the identifier to the standard printing control unit, or stops the printing.
2. the standard communication control unit communicates with the printer in accordance with the USB standard; the print management unit requests the standard print control unit to acquire a USB standard command from the printer; when a request to acquire the USB standard command is passed from the standard print control unit to the custom processing unit, the custom processing unit acquires the USB standard command from the printer via the standard communication control unit, adds a unique field to the USB standard command, and passes the USB standard command with the unique field added to the standard print control unit; 2. The print control device according to claim 1, wherein the print management unit detects the read status by determining whether or not the unique field is added to the USB standard command passed from the standard print control unit, and if the unique field is not added, passes the print data without the identifier to the standard print control unit, thereby causing the printer to execute the restricted printing via the standard communication control unit, or stops the printing.
3. the customization processing unit creates a shared memory shared by the customization processing unit and the print management unit, and stores in the shared memory printer-specific information that identifies the printer and that has been passed from the standard printing control unit; 3. The print control device according to claim 1, wherein the print management unit receives the printer-specific information from the standard print control unit, detects the read status by determining whether the shared memory in which the printer-specific information is stored is present, and if the shared memory in which the printer-specific information is stored is not present, passes the print data that does not have the identifier added to the standard print control unit, causing the printer to execute the restricted printing via the standard communication control unit, or stops the printing.
4. The printing management unit as a process to be performed when the loading status indicates a failure to load the custom class driver, a selection is accepted from a restriction process in which the print data without the identifier is passed to the standard print control unit to cause the printer to execute the restricted printing via the standard communication control unit, and a stop process in which the printing is stopped; 4. The print control device according to claim 1, wherein the process for accepting the selection is performed when the read status indicates a failure to read the custom class driver.
5. A printing control device as described in any one of claims 1 to 4, wherein when the loading status indicates a failure to load the custom class driver, the printing management unit outputs information to the effect that the printer performs the restricted printing via the standard communication control unit or that the printing is to be stopped.
6. The print control device according to claim 5 , further comprising a display unit that displays the information indicating that the printer is to execute the restricted printing via the standard communication control unit, or that the printing is to be stopped.
7. A print control method for a computer, in which a standard print control unit that functions by executing an operating system causes a printer to execute printing according to print data via a standard communication control unit that functions by executing the operating system, comprising: a customization processing step in which the computer executes a custom class driver for customizing a process of hiding the function of the standard communication control unit and causing the printer to execute the printing based on the print data passed from the standard print control unit; a print management step of adding an identifier to the print data to be passed through the custom class driver, and transmitting the print data to which the identifier has been added to the standard print control unit by the computer; In the customization processing step, if the identifier is added to the print data passed from the standard print control unit, the computer deletes the identifier from the print data and customizes a process for causing the printer to execute the printing based on the print data; In the printing management process, the computer detects the loading status of the custom class driver by executing the operating system, and if the loading status indicates a failure to load the custom class driver, passes the print data without the identifier to the standard printing control unit, thereby causing the printer to perform the restricted printing via the standard communication control unit, or stops the printing.
8. A print control program for a computer, the print control program causing a standard print control function that an operating system causes a computer to realize causes a printer to execute printing according to print data via a standard communication control function that the operating system causes the computer to realize, including custom class drivers and filter modules; the custom class driver causes the computer to realize a custom processing function that hides the standard communication control function and customizes a process for causing the printer to execute the printing based on the print data passed from the standard print control function; the filter module causes the computer to realize a print management function of adding an identifier to the print data that is to be passed through the custom class driver, and passing the print data to which the identifier has been added to the standard print control function; the custom processing function, when the identifier is added to the print data passed from the standard print control function, deletes the identifier from the print data and customizes a process for causing the printer to execute the printing based on the print data; A print control program in which the print management function detects the loading status of the custom class driver by execution of the operating system, and if the loading status indicates a failure to load the custom class driver, passes the print data without the identifier to the standard print control function, thereby causing the printer to perform the restricted printing via the standard communication control function, or stops the printing.
Citation Information
Patent Citations
Information processor
JP2009193358A
Print processing system and control method
JP2019175330A
Support program, information processing apparatus, and printing method
JP2020087273A
Information processing device and program
JP2020087294A
Information processing apparatus, control method, and a storage medium
US20210117135A1