Application program, control method, and information processing device.

JP2026137438APending Publication Date: 2026-08-27CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025023544
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-17
Publication Date
2026-08-27

AI Technical Summary

Benefits of technology

【0009】 本発明によれば、原稿を読み取る読取機能を有する画像処理装置に読取機能を実行させる際に、スキャンドライバを用いずとも開始制限機能を実行させることができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026137438000001_ABST
    Figure 2026137438000001_ABST
Patent Text Reader

Abstract

The objective is to provide a mechanism that allows an image processing device with a document scanning function to execute a start restriction function without using a scan driver when the scanning function is initiated. [Solution] The application program (extended application 204) supports a standard driver (general-purpose scanning software) provided by the operating system provider. The application program causes the computer to perform the following steps: an acquisition step to acquire status information regarding the state of the image processing device (scanning device 102) having a document reading function; a determination step to determine whether the image processing device is capable of executing the reading function based on the status information acquired in the acquisition step; and an instruction step to issue an instruction to execute the reading function if, as a result of the determination in the determination step, it is determined that it is possible to issue an instruction to execute the reading function.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an application program, a control method, and an information processing apparatus.

Background Art

[0002] For a scanning device (scanner) that performs image reading, i.e., scanning, a host computer (information processing apparatus) capable of processing information with the scanning device is communicably connected. As control software for controlling the scanning device, for example, a scan driver installed from the scanning device to the host computer is used. By this scan driver, a scan instruction can be given from the host computer to the scanning device, i.e., remote scanning can be performed. An operating system (hereinafter referred to as "OS"), which is basic software, is pre-installed in the host computer. The scan driver has a configuration conforming to the specifications defined by the OS and can be called from the OS to operate. Also, such a scan driver is different for each vendor that supplies the scanning device, i.e., it is a model-specific scan driver suitable for each scanning device.

[0003] In recent years, in Windows (registered trademark), even for scanning devices supplied by different multiple vendors, a standard class driver (hereinafter sometimes referred to as "standard driver") that can be commonly used has been attempted to be provided. Such a standard driver is pre-embedded in the OS. Then, by connecting an arbitrary scanning device to a host computer having the OS incorporated in the standard driver, the standard driver can be used. Thereby, it is possible to omit installing the model-specific scan driver. Also, the standard driver is assumed to be configured to be able to specify the scan function in the scanning device according to the scan function information generated based on the information acquired from the scanning device. Thereby, with one standard driver, the scan function can be specified for each scanning device.

[0004] Furthermore, since standard drivers can be used in common with scanning devices from multiple different vendors, it may be impossible to perform some of the functions of a particular vendor's scanning device. Patent Document 1 discloses a printing extension application that enables the execution of some of the printing functions even when it is impossible to perform those functions in a document creation application, that is, an application that extends the printing function. [Prior art documents] [Patent Documents]

[0005] [Patent Document 1] Japanese Patent Publication No. 2021-033526 [Overview of the Initiative] [Problems that the invention aims to solve]

[0006] As mentioned earlier, scan drivers differ depending on the vendor supplying the scanning device; in other words, they are model-specific scan drivers suited to each scanning device. Some of these scan drivers have a start restriction function (start control function) that restricts (prevents) the start of document scanning. For example, when a first user and a second user use the same scanning device, the timing of when the first user scans a document and the timing of when the second user scans a document may overlap. In this case, the start restriction function can prevent the second user's document from being mistakenly scanned by the first user. On the other hand, standard drivers do not have a start restriction function.

[0007] The present invention has been made in view of the above-mentioned problems. The object of the present invention is to provide a mechanism that allows an image processing device having a document reading function to execute a start restriction function without using a scan driver when the reading function is executed. [Means for solving the problem]

[0008] To achieve the above objective, the application program of the present invention is an application program that supports a standard driver provided by an operating system provider, and is characterized by causing a computer to execute: an acquisition step of acquiring state information relating to the state of an image processing device having a document reading function from the image processing device; a determination step of determining whether the image processing device is capable of executing the reading function based on the state information acquired in the acquisition step; and an instruction step of issuing an instruction to execute the reading function if, as a result of the determination in the determination step, it is determined that it is possible to issue an instruction to execute the reading function. [Effects of the Invention]

[0009] According to the present invention, when an image processing device having a document reading function is made to perform the reading function, the start restriction function can be executed without using a scan driver. [Brief explanation of the drawing]

[0010] [Figure 1] This is a block diagram showing the hardware configuration of the scanning system according to the first embodiment. [Figure 2] This is a block diagram showing the software configuration of the scanning system. [Figure 3] This figure shows an example of a screen displayed on the display unit of a scanning system. [Figure 4] This flowchart shows the process by which the scan function expansion unit edits scan function information. [Figure 5] This figure shows an example of a list of scan information. [Figure 6] This sequence diagram shows the processes that occur between the scan application, general-purpose scan software, extension applications, and scan device after the scan application accepts the scan settings. [Figure 7]This flowchart shows the processes performed by the extended application. [Figure 8] Figure 7 shows an example of the screen displayed on the display unit of the scanning system at step S710 of the flowchart shown in Figure 7. [Figure 9] This figure shows an example of a screen displayed on the display unit of a scanning system. [Figure 10] This is a flowchart showing the processes performed by the scanning device. [Figure 11] This is a diagram illustrating image processing based on the orientation of the original document. [Figure 12] This is a flowchart showing the processes performed by the extended application according to the second embodiment. [Figure 13] This is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application according to the third embodiment receives the scan settings. [Modes for carrying out the invention]

[0011] The embodiments of the present invention will be described in detail below with reference to the drawings. However, the configurations described in the following embodiments are merely illustrative, and the scope of the present invention is not limited to the configurations described in each embodiment. For example, each part constituting the present invention can be replaced with any configuration that can perform a similar function. In addition, any configuration may be added. Furthermore, any two or more configurations (features) from each embodiment can be combined.

[0012] <First Embodiment> The first embodiment will be described below with reference to Figures 1 to 11.

[0013] <Scanning system hardware configuration> FIG. 1 is a block diagram showing the hardware configuration of a scanning system according to the first embodiment. As shown in FIG. 1, the scanning system 1000 includes a host computer 101, a scanning device (scanner) 102, a pointing device 117, a keyboard 118, and a display unit 119, which are connected to each other so as to be communicable. In the present embodiment, the host computer 101, the pointing device 117, the keyboard 118, and the display unit 119 are used by the user US1. The scanning device 102 is used by the user US1 or the user US2. The host computer 101 is an information processing device. The host computer 101 includes an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device (storage medium) 114, an output interface 115, an input / output interface 116, and a NET interface 120. Note that, as the host computer 101, for example, a desktop personal computer can be used, but it is not limited thereto, and for example, a notebook personal computer, a tablet terminal, a smartphone, or the like can also be used.

[0014] The CPU 111 is a computer that executes programs stored in the ROM 112 and the external storage device 114. In this embodiment, the CPU 111 can execute the functions and processes of the host computer 101, i.e., the various processes (control methods) described later, by processing according to the code of the programs stored in the ROM 112. The ROM 112 stores an initialization program. The external storage device 114 stores application programs, an operating system (OS), print data generation software, and various other data. In this embodiment, Microsoft's Windows 11 is installed on the host computer 101 as the OS. The external storage device 114 is not particularly limited, and for example, an HDD (Hard Disk Drive) or SSD (Solid State Drive) can be used. The RAM 113 is used as work memory when executing various programs stored in the external storage device 114, enabling various programs to operate within the host computer 101. The input interface 110 is connected to input devices, namely a pointing device 117 and a keyboard 118. A display unit 119 is connected to the output interface 115 as a display device. The display unit 119 displays, for example, the scan setting screen 300A and the detailed setting screen (reception screen) 300C, which will be described later. The NET interface 120 is a network interface and controls data transfer to and from external devices via the network. A scanning device 102 is connected to the input / output interface 116. This allows the host computer 101 to communicate with scanning devices 102 from multiple manufacturers, regardless of the manufacturer of the scanning device 102, that is, to process information between scanning devices 102 from multiple manufacturers. The host computer 101 and the scanning device 102 may be connected by wire or wirelessly.

[0015] The scanning device 102 is an image processing device having an image processing unit 190, a CPU 191, a ROM 192, a RAM 193, an operation unit 194, a reading unit 195, a printing unit 196, a NET interface 197, an input / output interface 198, and an external storage device 199. The CPU 191 is a computer that executes programs and the like stored in the ROM 192 and the external storage device 199, and comprehensively controls the scanning device 102. The ROM 192 is a memory that stores programs. The RAM 193 is a memory that temporarily stores programs and image data. With the operation unit 194, various operation instructions can be given to the scanning device 102. Note that the operation unit 194 is configured to be able to display various information such as the state of the scanning device 102. The reading unit 195 has a reading function for reading the image of a document. The printing unit 196 prints an image on a sheet based on, for example, the image data generated by reading the image of the document by the reading unit 195. Note that the printing unit 196 may be omitted. The NETIF 197 is a network interface and performs control for data transfer with external devices via a network. The input / output interface 198 is connected to the host computer 101. The image processing unit 190 receives, for example, the image data generated by reading the image of the document by the reading unit 195. Then, the image processing unit 190 performs various editing processes on the image data.

[0016] The scanning device 102 is not particularly limited as long as it has a reading function for reading a document, that is, a scanning function. For example, an image processing device such as a multi-functional peripheral (MFP) can be used. Further, the scanning device 102 has a document table (not shown) and a feeder (not shown). The document table is a first placement unit on which a single document to be the execution target of the reading function is placed. The feeder is arranged at a position different from the document table and is a second placement unit on which a plurality of documents to be the execution target of the reading function are placed. Also, when a multi-functional peripheral is used as the scanning device 102, the printing performed by the multi-functional peripheral is electrophotographic printing in this embodiment, but is not limited thereto, and for example, printing such as an inkjet method can also be used.

[0017] <Configuration of a software-centric scanning system> Figure 2 is a block diagram showing the software configuration of the scanning system. Figure 2(a) shows a typical configuration when the extended application (application program) 204 is not associated with the general-purpose scanning software (standard driver) 202 and the scanning device 102. Figure 2(b) shows a configuration when the extended application 204 is associated with the general-purpose scanning software 202 and the scanning device 102. The general-purpose scanning software 202 is a standard driver provided by the OS provider and pre-installed in the OS. The standard driver is a class driver (general-purpose program) that can be used in common for scanning devices 102 from multiple manufacturers, for example, during scanning (image reading). The standard driver is provided together with the OS as one of the functions within the OS package. The standard driver can perform processing for various scanning devices by utilizing a standardized scanning method. As a result, the standard driver can generate and output instructions that can be interpreted by scanning devices from multiple manufacturers. Note that the standard driver is not particularly limited; for example, a program that operates based on IPP (Internet Printing Protocol) can be used. This general-purpose scanning software 202 is pre-installed (built into) the OS.

[0018] The extension application 204 is a program that supports, i.e., assists the general-purpose scan software 202 (a program that executes a control method to perform controls that support the general-purpose scan software 202). In this embodiment, the extension application 204 is an extension program that can extend functions that the general-purpose scan software 202 cannot perform on the scan device 102, but is not limited to this. For example, the extension application 204 may be a program that improves the convenience of the functions that the general-purpose scan software 202 can perform on the scan device 102. The extension application 204 is stored in the external storage device 114 together with the OS (general-purpose scan software 202), for example. As a result, the host computer 101 has the general-purpose scan software 202 and the extension application 204.

[0019] <Configuration when the extended application is not associated with general-purpose scanning software and scanning device> First, referring to Figure 2(a), the configuration when the extended application 204 is not associated with the general-purpose scanning software 202 and the scanning device 102 will be described. The scanning application 201 is software that captures content (image data) generated by scanning with the scanning device 102. The scanning application 201 is not particularly limited and can be, for example, a document creation application or an image editing application. The scanning application 201 issues a scan instruction to the OS upon receiving a scan request from, for example, user US1. The scan instruction includes scan setting information to instruct the operation of the general-purpose scanning software 202 and the scanning device 102. In order to issue a scan instruction, the scanning application 201 can display a scan setting screen 300A provided by the general-purpose scanning software 202, the OS, or the scanning application 201 on the display unit 119. Furthermore, by pressing the control 302 (see Figure 3(a)) within the scan setting screen 300A, the detailed setting screen 300B (see Figure 3(b)) or the detailed setting screen 300C (see Figure 3(c)) can be displayed on the display unit 119. The scan setting screen 300A, detailed setting screen 300B, and detailed setting screen 300C will be described later. The scan setting screen 300A includes setting items that indicate the configurable scan functions and control items that indicate the setting values, according to the capability information acquired by the general-purpose scan software 202, that is, the information that can be set as scan settings. "Capability information" refers to information such as the ability of the scan device 102 to perform scans. In addition, this capability information can be used to determine, for example, whether or not it contains information that enables the display of the detailed setting screen 300C. If, as a result of this determination, it is determined that the information that enables the display of the detailed setting screen 300C is included, the detailed setting screen 300C can be displayed. On the other hand, if it is determined that the information necessary to display the detailed settings screen 300C is not included, the detailed settings screen 300C will not be displayed.In this way, the extended application 204 can switch whether or not to display the detailed settings screen 300C depending on the capability information of the scanning device 102.

[0020] Scan function information 203 is data indicating the scan function, which includes all configurable scan functions, their settings, and mutual exclusion relationships between the settings. Scan function information 203 is included in the configuration file of the general-purpose scan software 202 and is placed in the external storage device 114 as an immutable file. Alternatively, scan function information 203 is dynamically generated by the general-purpose scan software 202. Specifically, the general-purpose scan software 202 obtains attribute data of the scan device 102 from the scan device 102. The general-purpose scan software 202 generates scan function information 203 according to the attribute information in this attribute data. When scan function information 203 is dynamically generated in this way, it is editable. The attribute data of the scan device 102 includes attribute information indicating the functions that can be specified by the scan device 102 (the capabilities of the scan device 102) and setting values ​​related to that attribute information, and these are stored in RAM 113.

[0021] With this configuration, the general-purpose scan software 202 allows user US1 to specify the scan functions available on the scan device 102, depending on the scan device 102 connected to the host computer 101. This makes it possible to specify the scan functions available on the scan device 102 regardless of the specific scan device 102, that is, even when connecting scan devices 102 with different functions or scan devices developed by different scanner manufacturers. In this embodiment, the general-purpose scan software 202 is assumed to be a standard class driver that performs scanning based on a standard scan protocol called Mopria. Specifically, as mentioned above, the general-purpose scan software 202 is not a unique scan driver specific to the model of the scan device 102, but a standard class driver that can be used in common with scan devices 102 from various scanner manufacturers, regardless of the scanner manufacturer. Furthermore, the general-purpose scan software 202 acquires capability information of the scan device 102 and generates scan function information 203 based on this information.

[0022] Furthermore, the general-purpose scanning software 202 can be associated with an extended application 204. This allows the general-purpose scanning software 202 to perform functions that are not available in the general-purpose scanning software 202. For example, the general-purpose scanning software 202 cannot perform a start restriction function (restriction function) that restricts the start of document reading, i.e., prevents it from being executed, when it instructs the scanning device 102 to perform a scanning function. When user US1 and user US2 use the same scanning device 102, the following situation may occur. For example, the timing of scanning the document on the scanning device 102 due to an operation by user US1 on the host computer 101 may overlap with the timing of scanning the document on the scanning device 102 due to an operation by user US2 on the scanning device 102. In this way, the scanning device 102 can be in an overlapping state where multiple instructions to execute reading functions for the scanning device 102 overlap. In this case, the start restriction function can allow the execution of one of the multiple execution instructions for reading functions in the overlapping state, while restricting the execution of the remaining reading functions. This prevents user US2's document from being mistakenly scanned by user US1. On the other hand, the general-purpose scan software 202 is not a driver with a start restriction function. Thus, the general-purpose scan software 202 does not support the start restriction function. This is because the start restriction function is a function that is uniquely performed by the scan device 102 manufactured by a predetermined scanner manufacturer. The extended application 204 can be extended to enable the execution of functions that the general-purpose scan software 202 cannot perform. In this embodiment, the general-purpose scan software 202 cannot perform the start restriction function, and the extended application 204 can extend it to enable that start restriction function, but it is not limited to this. For example, the general-purpose scan software 202 may be able to perform a part of the start restriction function, and the extended application 204 may further extend the scope of execution by supplementing the deficiencies of that start restriction function.

[0023] <Configuration when an extended application is associated with general-purpose scanning software and a scanning device> Referring to Figure 2(b), the configuration in which the extended application 204 is associated with the general-purpose scan software 202 and the scan device 102 will be described. As shown in Figure 2(b), unlike Figure 2(a), the extended application 204 is added. That is, the host computer 101 has the scan application 201, the general-purpose scan software 202, the scan function information 203, and further has the extended application 204. The extended application 204 is software for extending the functionality of the general-purpose scan software 202, and is sometimes simply called "scan software". Note that the extended application 204 is software that is not pre-included (not bundled) with the OS. Therefore, the extended application 204 is downloaded from a server (not shown) via the Internet by user US1 operating the host computer 101 and installed on the host computer 101. Alternatively, the extended application 204 may be automatically installed on the host computer 101 based on the connection when the scan device 102 is connected to the host computer 101. Specifically, when a scanning device 102 is connected to the host computer 101, the OS obtains device identification information from the scanning device 102. The OS may also download and install an extended application 204 corresponding to this device identification information from a server via the internet. As a result, the host computer 101 maintains the general-purpose scanning software 202 and the extended application 204 as separate control programs. The general-purpose scanning software 202 and the extended application 204 may be updated and upgraded. In this case, the update process for the general-purpose scanning software 202 and the update process for the extended application 204 may occur at the same time or at different times. Furthermore, the trigger for the host computer 101 to acquire the general-purpose scanning software 202 and the trigger for the host computer 101 to acquire the extended application 204 may be the same trigger or different triggers.Furthermore, if the extended application 204 is installed, the OS associates the extended application 204 with the general-purpose scanning software 202 and the scanning device 102.

[0024] As shown in Figure 2(b), the extended application 204 can exchange information (send and receive information) with the general-purpose scan software 202 and the scan device 102, respectively. That is, the extended application 204 is associated with the general-purpose scan software 202 and the scan device 102. In this embodiment, the extended application 204 has a scan setting screen extension unit 205, a scan function extension unit 206, an image data editing unit 207, and a notification unit 209. The extended application 204 also has shared information 208 that can be accessed from each of the units: the scan setting screen extension unit 205, the scan function extension unit 206, the image data editing unit 207, and the notification unit 209. The shared information 208 is a file stored in the external storage device 114 or information stored in the RAM 113. The extended application 204 can write to and read the shared information 208 by using the API (Application Program Interface) provided by the OS.

[0025] Furthermore, the extended application 204 may terminate its overall operation when the processing of each unit from the scan settings screen extended unit 205 to the notification unit 209 is completed. In this case, the OS will start the extended application 204 each time it receives a processing execution request from each unit. Also, the extended application 204 may cancel processing in the middle of processing for each unit from the scan settings screen extended unit 205 to the notification unit 209. In this case, the OS will delete the jobs currently being processed on the print queue. As mentioned above, the scan application 201 issues a scan command to the OS upon receiving a print request from user US1. The scan application 201 can also display the scan settings screen. In the configuration shown in Figure 2(b), the scan application 201 can display the scan settings screen 300A (detailed settings screen 300C) provided by the scan settings screen extended unit 205 (extended application 204). The scan settings screen extended unit 205 can also save the detailed settings set by user US1 to the shared information 208.

[0026] The image data editing unit 207 acquires image data from the scanning device 102. After acquiring the image data, the image data editing unit 207 can also edit the image data. Furthermore, the image data editing unit 207 acquires detailed setting information from the shared information 208 and performs image editing on the image data according to the detailed setting information. The extended application 204 may also perform image editing on the image data acquired by the general-purpose scanning software 202 according to the detailed setting information.

[0027] The scan function expansion unit 206 can edit the scan function information 203 generated by the general-purpose scan software 202 or the OS. This allows for the addition of functions provided by the expansion application 204. It can also add functions that are executable on the scan device 102 but not on the general-purpose scan software 202 (e.g., start restriction function or document orientation specification function), and add mutual exclusion relationships between scan function settings. The OS starts the scan function expansion unit 206 when the expansion application 204 is first associated with the scan device 102 and the general-purpose scan software 202. The OS may also start the scan function expansion unit 206 at other times (e.g., when the OS starts). Even if scanning-related functions are expanded later through such startup, the scan function expansion unit 206 can detect the expansion and add it to the scan function information 203.

[0028] The notification unit 209 can notify the user when an error occurs in the scanning device 102. For example, if a read jam error occurs in the scanning device 102, the general-purpose scanning software 202 detects this error. The OS uses a notification function called toast notification, which is one of the OS's functions, to display the read jam error detected by the general-purpose scanning software 202 as a message on the display unit 119. When user US1 interacts with the toast notification, the notification unit 209 is called by the OS, and the user interface screen (UI screen) of the notification unit 209 is displayed. The user interface screen can display, for example, detailed messages regarding the read jam error and instructions on how to clear the jam.

[0029] As described above, in this embodiment, the extended application 204 can be said to have the following four functions. The first function is to display a settings screen. This function is performed by the scan settings screen extended unit 205. The second function is to edit image data according to detailed setting information. This function is performed by the image data editing unit 207. The third function is to extend the functions that can be specified in the image data generation software. This function is performed by the scan function extended unit 206. The fourth function is to display a screen in response to an error occurring in the scanning device 102. This function is performed by the notification unit 209. Note that the configuration of the extended application 204 is not limited to a configuration having these four functions, and a configuration having at least one function is preferred, and a configuration having other functions is also possible.

[0030] <Example of scan settings screen / advanced settings screen> Figure 3 shows an example of a screen displayed on the display unit of the scan system. Figure 3(a) is the scan settings screen displayed by the scan application 201. Figure 3(b) is the detailed settings screen displayed when the extended application 204 is not associated. Figure 3(c) is the detailed settings screen displayed when the extended application 204 is associated. Note that the units and modules that display each screen are not particularly limited. For example, the scan settings screen extension unit 205 may be configured only to generate the display screen. In that case, the scan settings screen extension unit 205 sends the generated display screen to the scan application 201 via the general-purpose scan software 202. The scan application 201 may be configured to display the acquired display screen.

[0031] The scan settings screen 300A shown in Figure 3(a) is a screen that allows settings related to scanning on the scanning device 102. This scan settings screen 300A includes control (buttons) 301, 302, 303, and 304. Control 301 allows you to select and set the scanner device to be used to read the document. In Figure 3(a), as an example, the scanner device used to read the document is set to "Scanner 001 (common driver)". Control 302 displays a screen that allows you to make detailed settings related to scanning. Control 303 allows you to instruct the scanning device 102 to start scanning. Control 304 allows you to instruct the scanning device 102 to cancel scanning.

[0032] If the extended application 204 is not associated with the configuration, operating control 302 will display the detailed settings screen 300B shown in Figure 3(b). The detailed settings screen 300B includes controls 305 and 306. Control 305 is a placement area selection unit for selecting and setting the document scanning destination in the scanner 102, that is, the placement area on which the document to be scanned is placed. As mentioned above, the scanner 102 has a document glass and a feeder as document scanning destinations. In this case, in control 305 in Figure 3(b), "document glass" is selected as an example. Control 306 allows you to finish the settings made in control 305. Also, operating control 306 will return you to the scan settings screen 300A shown in Figure 3(a).

[0033] When the extended application 204 is associated with the configuration, operating the control 302 displays the detailed settings screen 300C shown in Figure 3(c). The detailed settings screen 300C is a reception screen that accepts information necessary to allow the scanning device 102 to perform the reading function. This detailed settings screen 300C is displayed together with the scan settings screen 300A, but its display configuration is not particularly limited. For example, the detailed settings screen 300C may be displayed overlaid on the scan settings screen 300A. Alternatively, the detailed settings screen 300C may be displayed adjacent to the scan settings screen 300A, or the scan settings screen 300A may disappear before the detailed settings screen 300C is displayed. The detailed settings screen 300C includes controls 305 and 306, similar to the detailed settings screen 300B. The detailed settings screen 300C also includes controls 309 and 310. Controls 309 and 310 allow you to set the orientation of the document on the loading area where the document to be scanned is placed. To place the document on the loading area with its top edge facing the back, control 309 is operated. Document image 307a shows the document placed on the document glass with its top edge facing the back and the print side facing downwards. Document image 307b shows the document placed on the feeder with its top edge facing the back and the print side facing downwards. Furthermore, to place the document on the loading area with its top edge facing sideways, control 310 is operated. Document image 308a shows the document placed on the document glass with its top edge facing sideways and the print side facing downwards. Document image 308b shows the document placed on the feeder with its top edge facing sideways and the print side facing downwards. Note that the state shown in Figure 3(c) indicates that control 309 is selected.

[0034] Here, we will explain why the items included in the detailed settings screen 300B shown in Figure 3(b) and the items included in the detailed settings screen 300C shown in Figure 3(c) are different. In other words, we will explain why it is possible to switch between displaying the detailed settings screen 300B or the detailed settings screen 300C. The detailed settings screen 300B and the detailed settings screen 300C are each generated based on the scan function information (capability information). The general-purpose scan software 202 does not support the document orientation specification function. Therefore, the general-purpose scan software 202 alone cannot add the document orientation specification function to the scan function information 203. Furthermore, even if the scan function information 203 originally included the document orientation specification function, the general-purpose scan software 202 cannot interpret the document orientation specification function included in the scan function information 203. Therefore, it is not possible to display items related to the document orientation specification function on the detailed settings screen. Thus, the scan function expansion unit 206 adds the document orientation specification function to the scan function information 203. The scan settings screen extension unit 205 then refers to the capability information and displays the detailed settings screen 300C. This detailed settings screen 300C is a screen that supports the document orientation specification function. The detailed settings screen 300C may also include additional settings for the document orientation specification function.

[0035] <Flowchart for editing scan function information on the scan function expansion unit> Figure 4 is a flowchart showing the process by which the scan function expansion unit edits scan function information. The program based on the flowchart shown in Figure 4 is executed by the CPU 111 controlling the scan function expansion unit 206. Figure 5 is a diagram showing an example of a list of scan information. As shown in Figure 4, in step S401, the scan function expansion unit 206 acquires capability information from the scan device 102. Capability information is capability information related to the ability to perform scan functions, and in this embodiment, it is attribute information indicating the functions that can be specified by the scan device 102 and setting values ​​related to said attribute information. Table 501 shown in Figure 5(a) shows a list of capability information acquired from the scan device 102. As shown in Table 501, various functions such as the document orientation specification function and options that can be set for various functions can be acquired from the scan device 102. For example, for the document orientation specification function, the options include "top edge at the back" where the top edge of the document is placed on the placement area so that it is facing away from the back, and "top edge to the side" where the top edge of the document is placed on the placement area so that it is facing sideways.

[0036] In step S402, the scan function expansion unit 206 retrieves the scan functions supported by the expansion application 204 from the shared information 208. The shared information 208 stores a list of scan functions supported by the expansion application 204. Table 502, shown in Figure 5(b), includes all scan functions that the expansion application 204 can execute (support) and their settings. For example, the document orientation specification function has two options: "Top edge at back," where the top edge of the document is placed on the placement area facing the back, and "Top edge to side," where the top edge of the document is placed on the placement area facing the side. Note that the scan functions that the expansion application 204 can execute may be updated through updates to the expansion application 204, etc.

[0037] In step S403, the scan function expansion unit 206 obtains scan function information 203 created by the general-purpose scan software 202 from the OS. The scan function information 203 is created by the general-purpose scan software 202 based on capability information obtained from the scan device 102. The scan function information 203 created by the general-purpose scan software 202 includes only the scan functions that the general-purpose scan software 202 can execute from the capability information obtained from the scan device 102. Table 503 shown in Figure 5(c) includes all scan functions that the general-purpose scan software 202 can execute and their settings. As shown in Table 503, the scan functions that the general-purpose scan software 202 can execute do not include the document orientation specification function. Therefore, the scan function information 203 does not include information regarding the document orientation specification function. By adding functions and options to the scan function information 203, the scan function expansion unit 206 enables the expansion application 204 to compensate for the lack of functionality of the general-purpose scan software 202. Furthermore, the scan function expansion unit 206 can also remove unnecessary functions and options from the scan function information 203 created by the general-purpose scan software 202.

[0038] Steps S404, S405, and S406 are repeated processes for the list of functions possessed by the capability information acquired from the scanning device 102 in step S401. In this embodiment, steps S404, S405, and S406 are repeated for all 13 options included in Table 501.

[0039] In step S404, the scan function expansion unit 206 determines whether the function or option currently being processed exists in the scan function information 203 generated by the general-purpose scan software 202. If the determination in step S404 determines that it exists in the scan function information 203, the processing ends if the last item among the options is being processed. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again. On the other hand, if the determination in step S404 determines that it does not exist in the scan function information 203, the process proceeds to step S405. For example, in this embodiment, Table 501 includes the scanning destination "platen," and Table 503 also includes the scanning destination "platen." In this case, in step S404, it is determined that the function or option currently being processed exists in the scan function information 203. In contrast, Table 501 includes the document orientation specification function "top edge facing away," but Table 503 does not include the document orientation specification function "top edge facing away." In this case, step S404 determines that the function or option currently being processed does not exist in the scan function information 203.

[0040] In step S405, the scan function expansion unit 206 determines whether the currently processed function (option) exists among the functions (options) supported by the expansion application 204. If the determination in step S405 is made to determine that a function currently being processed exists, the process proceeds to step S406. On the other hand, if the determination in step S405 is made to determine that no function is currently being processed, the process ends if the last item among the options is being processed, similar to when "Yes" was determined in step S404. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again. For example, in this embodiment, if the document orientation specification function, which is the function currently being processed, is "top edge inward", then "top edge inward" also exists in Table 502. Therefore, in step S405, it is determined that a function currently being processed exists.

[0041] In step S406, the scan function expansion unit 206 adds the currently processed function (option) to the scan function information 203. After step S406 is executed, if the last item among the options is being processed, the process is terminated, as in the case where "Yes" was determined in step S404. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again.

[0042] As described above, the extended application 204 can add functions (options) to the scan function information 203 that are not supported by the general-purpose scan software 202, are supported by the scan device 102, and are also supported by the extended application 204. Based on the scan function information 203 edited through this addition process, capability information is generated. Furthermore, the scan setting screen extension unit 205 can display the detailed setting screen 300C by generating a display screen based on this capability information, thereby extending the functions not supported by the general-purpose scan software 202.

[0043] <Processing after the scan application accepts the scan settings> Figure 6 is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application accepts the scan settings. Processing in scan application 201, general-purpose scan software 202, and extended application 204 is executed by the CPU 111 of the host computer 101. This processing program is stored in external storage device 114. Then, the CPU 111 reads the processing program from external storage device 114 into RAM 113 and executes it. Processing in scan device 102 is executed by the CPU 191 of scan device 102. This processing program is stored in external storage device 199. Then, the CPU 191 reads the processing program from external storage device 199 into RAM 193 and executes it. Note that processing in scan device 102 may also be executed by CPU 111 via CPU 191. The software configuration of the scan system 1000 is the software configuration shown in Figure 2(b).

[0044] As shown in Figure 6, in step S601, the scan application 201 accepts scan settings from user US1. User US1 can instruct the scan application 201 to configure scan settings, for example, by operating the pointing device 117 or the keyboard 118.

[0045] In step S602, the scan application 201 displays the scan settings screen 300A shown in Figure 3(a) on the display unit 119.

[0046] In step S603, the scan application 201 accepts detailed setting instructions from user US1. User US1 can provide detailed setting instructions, for example, by operating the pointing device 117 or keyboard 118 to select control 302 on the scan setting screen 300A.

[0047] In step S604, the scan application 201 requests the general-purpose scan software 202 to display the detailed settings.

[0048] In step S605, the general-purpose scan software 202 requests the extended application 204 to display the detailed settings.

[0049] In step S606, the scan settings screen extension unit 205 of the extended application 204 displays the detailed settings screen 300C shown in Figure 3(c) on the display unit 119 in response to the request in step S605 (display control step). This display control step is performed prior to the decision step described later. As mentioned above, the scan function extension unit 206 adds the aforementioned start restriction function and document orientation specification function to the scan function information 203. The scan settings screen extension unit 205 can display the detailed settings screen 300C by referring to the capability information generated based on the scan function information 203 to which these functions have been added. If there are setting items for image resolution, for example, these setting items may be displayed as needed, or their display may be suppressed or grayed out.

[0050] In step S607, the scan settings screen extension unit 205 accepts detailed settings from user US1 on the detailed settings screen 300C. As an example, on the detailed settings screen 300C, with the scanning destination "document glass" selected in control 305, control 309 is selected from among controls 309 and 310 (see Figure 3(c)). Subsequently, control 306 on the detailed settings screen 300C is pressed. This press operation stores the settings on the detailed settings screen 300C in RAM 113.

[0051] In step S608, the scan setting screen extension unit 205 accepts that user US1 has finished the detailed settings based on the operation of control 306 in step S607. User US1 can, for example, use the pointing device 117 or keyboard 118 to select control 306 and signal the end of the detailed settings. As a result, the setting status on the detailed settings screen 300C is written to the scan function information 203. The information written to the scan function information 203 may include, for example, information that is suppressed or grayed out.

[0052] In step S609, the extended application 204 sends detailed configuration completion information to the general-purpose scan software 202, indicating that the detailed configuration in step S608 has been completed.

[0053] In step S610, the general-purpose scan software 202 receives the detailed configuration completion information sent from the extended application 204 in step S609. The general-purpose scan software 202 then sends this detailed configuration completion information to the scan application 201.

[0054] In step S611, the scan application 201 receives a scan command from user US1. User US1 can issue a scan command, i.e., a document scanning command, by operating, for example, the pointing device 117 or the keyboard 118 and selecting control 303 on the scan settings screen 300A (see Figure 3(a)).

[0055] In step S612, the scan application 201 sends the scan command received in step S611 to the general-purpose scan software 202.

[0056] In step S613, the general-purpose scan software 202 receives the scan instruction made in step S612. The general-purpose scan software 202 then sends this scan instruction to the extended application 204.

[0057] In step S614, the extended application 204 checks the status of whether it is possible to issue a command to the scanning device 102 to start executing a read function from the host computer 101 (CPU 111), that is, whether it is permitted. Hereafter, the execution of a read function from the host computer 101 will be referred to as "remote scanning".

[0058] In step S615, if the scanning device 102 is in a state where remote scanning is possible, it notifies the extended application 204 of this fact (remote scanning possible state) in response to the status check in step S614. As a result, the extended application 204 can obtain information from the scanning device 102 indicating that it is in a state where remote scanning is possible as status information (acquisition step). The determination in step S615 as to whether the scanning device 102 is in a state where remote scanning is possible is made based on the settings on the setting screen 906B (see Figure 9(c)), which will be described later. Furthermore, the operation until the setting screen 906B is displayed is performed, for example, when user US1 places a document on the document glass of the scanning device 102.

[0059] In step S616, the extended application 204 creates a scan command based on the scan function information 203, which contains the settings from the detailed settings screen 300C in step S608. However, there are cases where the information that was suppressed or grayed out in step S608 is not written to the scan function information 203. In this case, in step S616, the extended application 204 may add the information not written to the scan function information 203 to the scan command, or use it as a default value.

[0060] In step S617, the extended application 204 sends the scan instruction command created in step S616 to the scanning device 102. This instructs the scanning device 102 to perform a remote scan (instruction step).

[0061] In step S618, the input / output interface 198 of the scanning device 102 receives the scan command sent in step S618. The reading unit 195 of the scanning device 102 then analyzes the scan command. Based on this analysis, the reading unit 195 performs a scan according to the settings in the detailed settings screen 300C. This obtains scanned image data (read image data) of the original document.

[0062] In step S619, the input / output interface 198 of the scanning device 102 transmits the image data obtained in step S618 to the extended application 204.

[0063] In step S620, the extended application 204 receives the image data transmitted in step S619. The extended application 204 then transmits this image data to the general-purpose scanning software 202.

[0064] In step S621, the general-purpose scanning software 202 receives the image data transmitted in step S620. Then, the general-purpose scanning software 202 transmits this image data to the scanning application 201.

[0065] In step S622, the scan application 201 receives the image data transmitted in step S621.

[0066] In step S623, the scanning application 201 displays the image data received in step S622 on the display unit 119. As a result, the display unit 119 displays the image data of the original document as a preview image.

[0067] Figure 7 is a flowchart showing the processes executed by the extended application. The program based on the flowchart shown in Figure 7 is stored in the external storage device 114. The CPU 111 can execute this program by reading it from the external storage device 114 into the RAM 113. Figure 8 shows an example of the screen displayed on the display unit of the scan system in step S710 of the flowchart shown in Figure 7. As shown in Figure 7, in step S701, the extended application 204 receives a request to display detailed settings from the general-purpose scan software 202 (see step S605).

[0068] In step S702, the scan settings screen extension unit 205 of the extended application 204 displays the detailed settings screen 300C shown in Figure 3(c) on the display unit 119 in response to the detailed settings display request received in step S701 (see step S606). As mentioned above, the scan function information 203 includes functions such as a start restriction function and a document orientation specification function. The scan settings screen extension unit 205 can display the detailed settings screen 300C by referring to the capability information generated based on this scan function information 203.

[0069] In step S703, the scan setting screen extension unit 205 determines whether or not there are detailed settings on the detailed setting screen 300C, that is, whether or not there are selections made in control 305, and for controls 309 and 310. If the determination in step S703 is that there are detailed settings, the process proceeds to step S704. On the other hand, if the determination in step S703 is that there are no detailed settings, the process proceeds to step S705.

[0070] In step S704, the scan settings screen extension unit 205 stores (saves) the settings status (setting information) from the detailed settings screen 300C in RAM 113. After step S704 is executed, the process proceeds to step S705.

[0071] In step S705, the scan setting screen extension unit 205 determines whether or not there is an instruction to end detailed settings on the detailed settings screen 300C (see step S608), that is, whether or not there is an operation on the control 306. If the determination in step S705 is that there is an instruction to end detailed settings, the process proceeds to step S706. On the other hand, if the determination in step S705 is that there is no instruction to end detailed settings, the process returns to step S703 and executes the subsequent steps sequentially.

[0072] In step S706, the extended application 204 notifies the general-purpose scan software 202 that the detailed settings in step S705 have been completed (see step S609).

[0073] In step S707, the extended application 204 determines whether there is a scan instruction from the general-purpose scan software 202 (see step S613). If the determination in step S707 is that there is a scan instruction, the process proceeds to step S708. On the other hand, if the determination in step S707 is that there is no scan instruction, the process remains in step S707 and waits.

[0074] In step S708, the extended application 204 checks the status of whether it is possible to instruct the scanning device 102 to start a remote scan (see step S614).

[0075] In step S709, the extended application 204 determines whether or not remote scanning is possible based on a notification from the scanning device 102 (see step S615) (determination step). If the determination in step S709 determines that remote scanning is possible, the process proceeds to step S711. On the other hand, if the determination in step S709 determines that remote scanning is not possible, the process proceeds to step S710.

[0076] In step S710, the extended application 204 notifies, or broadcasts, via the notification unit 209, that the scanning device 102 is not in a remote scanning state (notification step). In this case, the notification screen 801 shown in Figure 8 is displayed on the display unit 119 of the host computer 101. The notification screen 801 includes a message 802 and a control 803. Message 802 is a message stating, "The scanning device 102 is currently offline and therefore not in a remote scanning state. Please check again." The notification screen 801 is closed by pressing the control 803. After step S710 is executed, the process returns to step S707 and the subsequent steps are executed in order.

[0077] In step S711, the extended application 204 creates a scan command based on the scan function information 203, which contains the settings from the detailed settings screen 300C (see step S616). One method for creating a scan command is to extend a standard protocol command. Another method of extension is to write a dedicated command in the extension area of ​​the standard protocol command. Other extension methods include adding a proprietary command to the end of the standard protocol command, or the extended application 204 overwriting the standard protocol command with its own command system. Furthermore, when issuing instructions from the extended application 204, instructions and communication may be performed using the manufacturer's proprietary protocol, regardless of the standard protocol.

[0078] In step S712, the extended application 204 sends the scan instruction command created in step S711 to the scanning device 102 (see step S617).

[0079] In step S713, the extended application 204 determines whether or not it has received all of the image data from the scanning device 102 (see step S619). If the determination in step S713 is that all of the data has been received, the process proceeds to step S714. On the other hand, if the determination in step S713 is that not all of the data has been received, the process remains in step S713 and waits.

[0080] In step S714, the extended application 204 sends all scan image data from the scanning device 102, as determined in step S713, to the general-purpose scanning software 202 (see step S620). After step S714 is executed, the process ends.

[0081] Figure 9 shows an example of a screen displayed on the display unit of the scanning system. The home screen 901 shown in Figure 9(a), the settings screen 906A shown in Figure 9(b), and the settings screen 906B shown in Figure 9(c) are all displayed on the display unit 188 of the scanning device 102. As shown in Figure 9(a), the home screen 901 includes controls 902 to 905. Control 902 is selected when executing the copy function of the scanning device 102. Control 903 is selected when executing the transmit function of the scanning device 102. Control 904 is selected when executing the box function of the scanning device 102. Control 905 is selected when executing the remote scan function of the scanning device 102.

[0082] The settings screen 906A shown in Figure 9(b) is displayed when control 905 is selected. The settings screen 906A includes message 907 and controls 908 to 910. Message 907 is a message about how to operate the scanner 102 to a state where it can accept remote scan instructions (hereinafter referred to as "remote scan instruction acceptance state"). Control 908 is selected when the scanner 102 is put online. By pressing control 908, the settings screen 906A changes to the settings screen 906B shown in Figure 9(c). Control 909 is selected when the scanner 102 is put offline. By pressing control 909, the remote scan instruction acceptance state of the scanner 102 can be canceled. In the initial state (default state) of the settings screen 906A, control 909 is pre-selected. Control 910 is selected when returning to the home screen 901.

[0083] The setting screen 906B shown in Figure 9(c) is a setting screen for setting the scanning device 102 to a state where it can accept remote scan instructions. In the setting screen 906B, control 908 is displayed inverted from white to black. Message 907 is a message about how to operate the scanning device 102 to release it from the remote scan instruction acceptance state and enable other functions. Control 910 is displayed grayed out. This prevents the user from returning to the home screen 901, and thus prevents the selection of controls 902 to 904 other than control 905. When such a setting screen 906B is displayed, in step S615 of the flowchart shown in Figure 6, the information on the setting screen 906B, namely the setting information indicating that it is set to the remote scan instruction acceptance state, can be obtained as a status. This allows the extended application 204 to execute the start restriction function.

[0084] As mentioned above, in the scanning system 1000, there are cases where the timing of scanning a document by the scanning device 102 due to an operation by user US1 overlaps with the timing of scanning a document by the scanning device 102 due to an operation by user US2. In such cases, the extended application 204 can execute the start restriction function through the aforementioned processes (especially the judgment process and the instruction process). This prevents user US2's document from being mistakenly scanned due to an operation by user US1. Thus, in the scanning system 1000, even if the general-purpose scanning software 202 does not support the start restriction function, the extended application 204 can execute the start restriction function.

[0085] In this embodiment, the timing at which the extended application 204 queries the scanning device 102 to confirm whether remote scanning is possible is immediately before the scan command, but this is not limited to this. For example, the query timing may be when the scan setting screen 300A shown in Figure 3(a) is displayed, or it may be two timings: immediately before the scan command and when the scan setting screen 300A is displayed.

[0086] Furthermore, the scan command in step S613 is issued from the general-purpose scan software 202 to the extended application 204, but is not limited to this. For example, the scan command may be issued from the scan application 201 to the extended application 204. Alternatively, a control for the scan command may be placed on the detailed settings screen 300C. In this case, the user operates the control for the scan command to issue the scan command to the extended application 204. Additionally, the image data may be transmitted from the scan device 102 to the scan application 201 via the extended application 204 without going through the general-purpose scan software 202. Alternatively, the image data may be transmitted directly from the scan device 102 to the scan application 201. Furthermore, the scan system 1000 may be configured to store the scan image data in an external storage device 114 and only allow the transfer of information about the file path where the data is stored. In addition, if there are multiple scan image data files, the scan system 1000 may transmit all scan image data at once, or it may transmit scan image data as it becomes available.

[0087] Figure 10 is a flowchart showing the process performed by the scanning device. The program based on the flowchart shown in Figure 10 is stored in the external storage device 199. The CPU 191 can execute this program by reading it from the external storage device 199 into the RAM 192. As shown in Figure 10, in step S1001, the CPU 191 receives a scan instruction command from the extended application 204 (see step S617).

[0088] In step S1002, the CPU 191 interprets the scan instruction command received in step S1001. The CPU 191 then converts the scan instruction command into a read setting that enables scanning by the scanning device 102, that is, scanning under the conditions set in the detailed settings screen 300C.

[0089] In step S1003, the CPU 191 determines the ASIC of the image processing unit 190 to be used to perform the scan, according to the settings (reading settings) in step S1002, and configures the ASIC.

[0090] In step S1004, the CPU 191 sends a reading instruction to the reading unit 195 according to the reading settings.

[0091] In step S1005, the CPU 191 acquires scanned image data from the reading unit 195.

[0092] In step S1006, the CPU 191 determines the scanning destination. If the scanning destination is determined to be the document glass as a result of the determination in step S1006, the process proceeds to step S1007. On the other hand, if the scanning destination is determined to be the feeder as a result of the determination in step S1006, the process proceeds to step S1009.

[0093] In step S1007, the CPU 191 determines the orientation of the document. If the determination in step S1007 determines that the orientation of the document is with the top edge facing the back, i.e., control 309 is selected, the process proceeds to step S1008. On the other hand, if the determination in step S1007 determines that the orientation of the document is with the top edge facing the side, i.e., control 310 is selected, the process proceeds to step S1011.

[0094] In step S1008, the CPU 191 rotates the image data acquired in step S1005 clockwise by 90 degrees. After step S1008 is executed, the process proceeds to step S1011.

[0095] In step S1009, the orientation of the document is determined. If the determination in step S1009 is that the orientation of the document is with the top edge facing the back, the process proceeds to step S1010. On the other hand, if the determination in step S1009 is that the orientation of the document is with the top edge facing the side, the process proceeds to step S1011.

[0096] In step S1010, the CPU 191 rotates the image data acquired in step S1005 clockwise by 270 degrees. After step S1010 is completed, the process proceeds to S1011.

[0097] In step S1011, the CPU 191 controls the image processing unit 190 to perform a resolution conversion of the image data to 300 x 300 dpi.

[0098] In step S1012, the CPU 191 saves the image data whose resolution was converted in step S1011 to the external storage device 199, which is the storage memory.

[0099] In step S1013, the CPU 191 determines whether the scanning process for all pages of the document to be read has been completed. If the determination in step S1013 is that the scanning process has been completed, the process proceeds to step S1014. On the other hand, if the determination in step S1013 is that the scanning process has not been completed, the process returns to step S1005 and proceeds to execute the subsequent steps sequentially.

[0100] In step S1014, the CPU 191 controls the image processing unit 190 to convert the image data saved in step S1012 according to the transmission format. In this embodiment, the transmission format is not included in the scan instruction command received in step S1001. Therefore, the scanned image data is converted to the default JPEG format of the scanning device 102, but is not limited to this.

[0101] In step S1015, the CPU 191 controls the input / output interface 198 to send the image data converted in step S1014 to the extended application 204. After step S1015 is executed, the process ends.

[0102] Figure 11 is a diagram illustrating image processing according to the orientation of the original document. As shown in Figure 11(a), the original document 1101 is placed with its top edge facing away from the viewer and the print side facing downwards. The reading unit 195 reads the original document 1101 sequentially from top to bottom in the diagram, as indicated by the arrows, and records it as image data 1102 in the RAM 193. Image data 1102 is image data facing left (9 o'clock direction). Therefore, in order to make this image face 12 o'clock, the image processing unit 190 needs to rotate it 90 degrees clockwise. This rotation transforms image data 1102 into image data 1103. Image data 1103 is image data with the top edge of the original document facing upwards.

[0103] As shown in Figure 11(b), the original document 1104 is placed with its top edge facing away from the viewer and the print side facing upwards. The reading unit 195 reads the original document 1104 sequentially from bottom to top in the diagram, as indicated by the arrow, and records it as image data 1105 in the RAM 193. Image data 1105 is an image data facing to the right (3 o'clock direction). Therefore, in order to make this image face 12 o'clock, the image processing unit 190 needs to rotate it 270 degrees clockwise. This rotation converts image data 1105 into image data 1106. Image data 1106 is an image data with the top edge of the original document facing upwards.

[0104] As shown in Figure 11(c), the original document 1107 is placed with its top edge facing sideways and the print side facing downwards. The reading unit 195 reads the original document 1107 sequentially from top to bottom in the diagram, as indicated by the arrows, and records it as image data 1108 in the RAM 193. The image data 1108 is data for an image where the top edge of the original document is facing upwards. Therefore, the rotation processing by the image processing unit 190 is omitted.

[0105] As shown in Figure 11(d), the original document 1110 is placed with its top edge facing sideways and the print side facing upwards. The reading unit 195 reads the original document 1110 sequentially from bottom to top in the diagram, as indicated by the arrows, and records it as image data 1111 in the RAM 193. The image data 1111 is data of an image with the top edge of the original document facing upwards. Therefore, the rotation processing by the image processing unit 190 is omitted.

[0106] <Second Embodiment> The second embodiment will be described below with reference to Figure 12, focusing on the differences from the previously described embodiment, and omitting explanations of similar matters. For example, if the scanning device 102 is a small device that can be placed on a desk, the host computer 101 may also be placed on the same desk as the scanning device 102. In such a usage environment, user US1 tends to find the operation of switching to an online state to restrict user US2's use cumbersome. Therefore, this embodiment will describe a configuration suitable for such a usage environment.

[0107] Figure 12 is a flowchart showing the process executed by the extended application according to the second embodiment. Unlike the flowchart shown in Figure 7, the flowchart in Figure 12 executes step S1201 instead of steps S707 and S708, and step S1202 instead of step S710. As shown in Figure 12, if the determination in step S707 is that there is a scan instruction, the process proceeds to step S1201. In step S1201, the extended application 204 determines whether the scanning device 102 is a device that does not require a switching operation to switch to an online state. This determination is made, for example, based on the name of the scanning device 102 and a table that describes whether the product requires switching to an online state or not. The name is included in the capability information. The table is pre-stored in the external storage device 114. Such a name and table are used as device information regarding whether the scanning device 102 is a device that requires switching to an online state. If the determination in step S1201 is that the device does not require a switching operation, the process proceeds to step S711 and the subsequent steps are executed sequentially. On the other hand, if the determination in step S1201 is that the device does not require a switching operation, the process proceeds to step S1202.

[0108] In step S1202, the extended application 204 determines whether or not a switching operation has been performed. If the determination in step S1202 indicates that a switching operation has been performed, the process proceeds to step S711 and executes the subsequent steps sequentially. On the other hand, if the determination in step S1202 indicates that a switching operation has not been performed, the process remains in step S1202 and waits.

[0109] Thus, in this embodiment, depending on the type of scanning device 102, the operation to switch to an online state to restrict the use of another user, user US2, by user US1 can be omitted.

[0110] <Third Embodiment> The third embodiment will now be described with reference to Figure 13, focusing on the differences from the previously described embodiment, and omitting explanations of similar matters. Figure 13 is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application according to the third embodiment receives the scan settings. Unlike the sequence diagram shown in Figure 6, the sequence diagram in Figure 13 executes step S1300 instead of step S615. As shown in Figure 13, in step S1300, the scan device 102 displays the home screen 901 (see Figure 9(a)). This suggests that the scan device 102 is not being operated by any user, including user US1 and user US2, at the time the home screen 901 is displayed. In this embodiment, the home screen 901 is acquired by the extended application 204 as information regarding whether or not the settings screen 906B is displayed after the home screen 901 is displayed, i.e., whether or not the settings screen 906B is displayed. Then, when the home screen 901 is displayed, that is, when the settings screen 906B can be displayed, the scanning device 102 determines that a remote scan command is possible.

[0111] Although preferred embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above, and various modifications and changes are possible within the scope of its gist. The present invention can also be realized by supplying a program that implements one or more of the functions of the above embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. Furthermore, the present invention can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.

[0112] Each embodiment of the disclosure includes the following programs, methods, and configurations. (Program 1) An application program that supports standard drivers provided by the operating system provider, On the computer, A process of acquiring state information relating to the state of an image processing device, which has a document reading function, A determination step in which the image processing device determines whether or not it is capable of performing the reading function based on the state information acquired in the acquisition step, An application program characterized by executing an instruction step to issue an instruction to execute the reading function if, as a result of the determination step, it is determined that it is possible to issue an instruction to execute the reading function. (Program 2) The image processing device can be set to a receiving state that accepts instructions from the computer to execute the reading function, The application program according to Program 1, characterized in that, in the acquisition step, if the image processing device is set to the reception state, setting information indicating that it is set to the reception state is acquired as the status information. (Program 3) The image processing device displays a setting screen that can be set to the reception state, The application program according to Program 2, characterized in that the acquisition step acquires information on the settings screen as status information. (Program 4) An application program according to any one of Programs 1 to 3, characterized in that the acquisition step can acquire device information regarding whether or not the image processing device is a device that needs to be switched to an online state. (Program 5) The image processing device displays a setting screen that allows it to be set to a state in which it can receive instructions from the computer to execute the reading function. An application program according to any one of programs 1 to 4, characterized in that the acquisition step acquires information regarding whether or not the setting screen is displayed on the image processing device as state information. (Program 6) The application program according to Program 5, characterized in that, in the determination step, when the setting screen is displayed on the image processing device, it is determined that it is possible to issue an instruction to execute the reading function from the computer. (Program 7) An application program according to any one of Programs 1 to 6, characterized in that, if the determination in the determination step determines that it is not possible to instruct the execution of the reading function, the computer is instructed to perform a notification step to that effect. (Program 8) An application program according to any one of Programs 1 to 7, characterized in that, prior to the determination step, the computer is instructed to perform a display control step which causes the computer to display a reception screen that receives information necessary for the image processing device to perform the reading function. (Program 9) The image processing device is capable of an overlapping state in which multiple execution instructions for the reading function are given to the image processing device, The standard driver does not have a restriction function that allows the execution of one of the multiple execution instructions for the read functions that are in the overlapping state, while restricting the execution instructions for the remaining read functions. The application program according to any one of programs 1 to 8, characterized in that the application program is capable of executing the limiting function by the determination step and the instruction step. (Program 10) An application program according to any one of Programs 1 to 9, characterized in that the standard driver is a program that operates based on the Internet Printing Protocol. (Method 1) A method for performing control that supports standard drivers provided by the operating system provider, A process of acquiring state information relating to the state of an image processing device, which has a document reading function, A determination step in which the image processing device determines whether or not it is capable of performing the reading function based on the state information acquired in the acquisition step, A control method characterized by comprising: an instruction step of issuing an instruction to execute the reading function if, as a result of the determination step, it is determined that it is possible to issue an instruction to execute the reading function. (Configuration 1) An information processing device comprising a standard driver provided by the provider of the operating system and an application program that supports the standard driver, The application program is installed on the computer of the information processing device. A process of acquiring state information relating to the state of an image processing device, which has a document reading function, A determination step in which the image processing device determines whether or not it is capable of performing the reading function based on the state information acquired in the acquisition step, An information processing device characterized by causing the device to perform an instruction step to perform the reading function if, as a result of the determination step, it is determined that it is possible to instruct the reading function to be executed. [Explanation of symbols]

[0113] 101 Host computer 102 Scanning device 202 General-purpose scanning software 204 Extended Applications 300C detailed setting screen

Claims

1. An application program that supports standard drivers provided by the operating system provider, On the computer, An acquisition step of acquiring state information relating to the state of an image processing device, which has a document reading function, A determination step in which the image processing device determines whether or not it is capable of performing the reading function based on the state information acquired in the acquisition step, An application program characterized by executing an instruction step to issue an instruction to execute the reading function if, as a result of the determination step, it is determined that it is possible to issue an instruction to execute the reading function.

2. The image processing device can be set to a receiving state that accepts instructions from the computer to execute the reading function. The application program according to claim 1, characterized in that, in the acquisition step, if the image processing device is set to the reception state, setting information indicating that it is set to the reception state is acquired as the status information.

3. The image processing device displays a setting screen that can be set to the reception state, The application program according to claim 2, characterized in that the acquisition step acquires information on the settings screen as the status information.

4. The application program according to claim 1, characterized in that the acquisition step allows for the acquisition of device information regarding whether or not the image processing device is a device that needs to be switched to an online state.

5. The image processing device displays a setting screen that allows it to be set to a state where it can receive instructions from the computer to execute the reading function. The application program according to claim 1, characterized in that the acquisition step acquires information regarding whether or not the setting screen is displayed on the image processing device as the status information.

6. The application program according to claim 5, characterized in that, in the determination step, when the setting screen is displayed on the image processing device, it is determined that it is possible to issue an instruction to execute the reading function from the computer.

7. The application program according to claim 1, characterized in that, if the determination in the determination step determines that it is not possible to instruct the computer to execute the reading function, the computer is instructed to execute a notification step to that effect.

8. The application program according to claim 1, characterized in that, prior to the determination step, the computer is instructed to perform a display control step of displaying a reception screen that receives information necessary for the image processing device to execute the reading function.

9. The image processing device is capable of an overlapping state in which multiple execution instructions for the reading function are overlapping. The standard driver allows the execution of one of the multiple execution instructions for the read functions that are in the overlapping state, and does not have a restriction function that restricts the execution of the remaining read function instructions. The application program according to claim 1, characterized in that the application program is capable of executing the restriction function by the determination step and the instruction step.

10. The application program according to claim 1, characterized in that the standard driver is a program that operates based on the Internet Printing Protocol.

11. A method for performing control that supports standard drivers provided by the operating system provider, An acquisition step of acquiring state information relating to the state of an image processing device, which has a document reading function, A determination step in which the image processing device determines whether or not it is capable of performing the reading function based on the state information acquired in the acquisition step, A control method characterized by comprising: an instruction step of issuing an instruction to execute the reading function if, as a result of the determination step, it is determined that it is possible to issue an instruction to execute the reading function.

12. An information processing device comprising a standard driver provided by the provider of the operating system, and an application program that supports the standard driver, The application program is installed on the computer of the information processing device. An acquisition step of acquiring state information relating to the state of an image processing device, which has a document reading function, A determination step in which the image processing device determines whether or not it is capable of performing the reading function based on the state information acquired in the acquisition step, An information processing device characterized by executing an instruction step to issue an instruction to execute the reading function if, as a result of the determination step, it is determined that it is possible to issue an instruction to execute the reading function.

Citation Information

Patent Citations

  • Server system and application

    JP2021033526A