Image processing device, driver installation method, and driver installation program
The image processing device simplifies card reader control by using an interface unit to identify and install a suitable driver program based on card reader and card type, streamlining user configuration operations.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- KONICA MINOLTA INC
- Filing Date
- 2024-12-20
- Publication Date
- 2026-07-02
AI Technical Summary
Existing image processing devices, such as MFPs, struggle to control card readers connected via USB due to the lack of a specific driver program, leading to an inability to identify the type of card reader and the card being read.
The device includes an interface unit connected to a card reader, with a device information acquisition unit to identify the card reader type, a first installation unit to install a test program, a type information acquisition unit to determine the card type, and a determination unit to select a suitable driver program based on the card information.
Facilitates user-defined settings and simplifies the configuration process for controlling card readers by automatically identifying and installing the appropriate driver program, eliminating the need for user input on card reader and card type.
Smart Images

Figure 2026110277000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an image processing apparatus, a driver installation method, and a driver installation program, and more particularly to an image processing apparatus to which a card reader device is connected, a driver installation method executed by the image processing apparatus, and a driver installation program for causing a computer to execute the driver installation method.
Background Art
[0002] There are cases where a card reader device is connected to an image processing apparatus typified by an MFP (Multi Function Peripheral). The card reader device is a device that reads information stored on a card such as an IC card or a magnetic card. In order for the MFP to control the connected card reader device, it is necessary to install a driver program in the MFP. Japanese Patent Laid-Open No. 08-328831 describes an information processing apparatus including means for recognizing the type of an IC card being mounted, means for notifying the type to a database storing application software for the IC card, means for receiving a list of application software for the mounted IC card from the database, means for selecting desired application software from the list, means for downloading the selected application software from the database, and means for installing the downloaded application software. The information processing apparatus includes a PCMCIA card control unit that recognizes the type of the IC card mounted thereon.
[0003] In recent years, many card readers are equipped with a Universal Serial Bus (USB) as an interface for connecting to external devices. If the MFP100 is equipped with a USB host controller, a card reader can be connected to the USB host controller via a USB cable. However, because USB is a general standard, the vendor and model of the card reader connected to the MFP's USB port may not be the same. Also, a different type of electronic device may be connected. For this reason, unlike the PCMCIA card control unit described in Japanese Patent Publication No. 08-328831, the MFP cannot control a card reader connected to a USB host controller via a USB cable if a driver for controlling the card reader is not installed. Therefore, the MFP cannot obtain the type of card from the card reader. [Prior art documents] [Patent Documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 08-328831 [Overview of the Initiative] [Problems that the invention aims to solve]
[0005] This invention was made to solve the above-mentioned problems, and one of its objectives is to provide an image processing device that facilitates user-defined settings for controlling a card reader.
[0006] Another object of this invention is to provide a driver installation method that facilitates user configuration operations for controlling a card reader.
[0007] Another object of this invention is to provide a driver installation program that facilitates user configuration operations for controlling a card reader. [Means for solving the problem]
[0008] To achieve the above-mentioned objective, according to one aspect of this invention, the image processing apparatus comprises: an interface unit to which a card reader is connected; an apparatus information acquisition unit that acquires apparatus information indicating the type of card reader connected to the interface unit; a first installation unit that installs a test program from among a plurality of driver programs corresponding to the apparatus information; a type information acquisition unit that controls a driver that executes the test program and acquires card information indicating the type of card to be read by the card reader; and a determination unit that determines a suitable program from among a plurality of driver programs that is suitable for the card based on the card information.
[0009] According to another aspect of this invention, the driver installation method is a driver installation method performed on an image processing device equipped with an interface unit to which a card reader is connected, and includes: an equipment information acquisition step of acquiring equipment information indicating the type of card reader connected to the interface unit; a first installation step of installing a test program from among a plurality of driver programs corresponding to the equipment information; a type information acquisition step of controlling a driver that executes the test program to acquire card information indicating the type of card to be read by the card reader; and a determination step of determining a suitable program from among the plurality of driver programs that is suitable for the card based on the card information.
[0010] According to another aspect of this invention, the driver installation program is a driver installation program executed on a computer that controls an image processing device equipped with an interface unit to which a card reader is connected, and causes the computer to execute: an device information acquisition step of acquiring device information indicating the type of card reader connected to the interface unit; a first installation step of installing a test program from among a plurality of driver programs corresponding to the device information; a type information acquisition step of controlling a driver that executes the test program to acquire card information indicating the type of card to be read by the card reader; and a determination step of determining a suitable program from among the plurality of driver programs that is suitable for the card based on the card information. [Brief explanation of the drawing]
[0011] [Figure 1] This figure shows an overall overview of an image forming system in one embodiment of the present invention. [Figure 2] This is a perspective view showing the exterior of the MFP. [Figure 3] This block diagram shows an overview of the hardware configuration of the MFP in this embodiment. [Figure 4] This block diagram shows an example of the functions of the MFP in this embodiment. [Figure 5] This figure shows an example of a device table. [Figure 6] This figure shows an example of driver-related information. [Figure 7] This figure shows an example of a screen requesting a reading operation. [Figure 8] This is a flowchart illustrating an example of the driver installation process. [Figure 9] This figure shows an example of an installation confirmation screen. [Figure 10] This figure shows an example of the setup completion screen. [Modes for carrying out the invention]
[0012] Embodiments of the present invention will be described below with reference to the drawings. In the following description, identical parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions of them will not be repeated.
[0013] Figure 1 is a diagram showing an overall overview of an image processing system in one embodiment of the present invention. Referring to Figure 1, the image forming system 1 includes an MFP (Multi Function Peripheral) 100 and a server 300.
[0014] The MFP100 is connected to network 3. Network 3 is a local area network (LAN), and the connection method can be wired or wireless. Network 3 is not limited to a LAN; it may also be a network using public switched telephone networks, etc. Furthermore, network 3 may be a wide area network (WAN), such as the Internet. The MFP100 can communicate with other computers connected to network 3 via network 3.
[0015] The gateway (G / W) device 7 is connected to network 3 and also to the internet 9. G / W 7 relays communication between network 3 and the internet 9. Server 300 is connected to the internet 9. MFP 100 is connected to the internet 9 via network 3 and G / W 7. Therefore, MFP 100 can communicate with server 300 via network 3 and the internet 9.
[0016] The MFP100 is an example of an image processing device. The server 300 is a general computer. Since its hardware configuration and functions are well-known, the description will not be repeated here. In this embodiment, the server 300 is operated by the manufacturer or vendor that manufactures the MFP100. The server 300 has a function of maintaining or managing the MFP100. Here, the server 300 stores programs that can be installed on the MFP100. The server 300 downloads the requested program to the MFP100 upon request from the MFP100. The MFP100 executes the program by installing the program downloaded from the server 300.
[0017] FIG. 2 is a perspective view showing the appearance of the MFP. FIG. 3 is a block diagram showing an overview of the hardware configuration of the MFP in this embodiment. Referring to FIGS. 2 and 3, the MFP100 includes a main circuit 110, an automatic document feeder 120, a document reading unit 130, an image forming unit 140, a paper feeding unit 150, and an operation panel 160. [[ID=]]
[0018] The automatic document feeder 120 automatically conveys a plurality of documents set on the document tray one by one to the document reading position of the document reading unit 130. The automatic document feeder 120 discharges the document on which the image formed on the document has been read by the document reading unit 130 to the document discharge tray.
[0019] The document reading unit 130 reads the image of the document set at the document reading position by optically scanning it. The document reading unit 130 includes a photoelectric conversion element such as a CCD (Charge Coupled Devices), and converts the light obtained by scanning the document into an electrical signal. The document reading unit 130 converts the electrical signal obtained by reading the document into image data, which is a digital signal, and outputs it.
[0020] The image forming unit 140 includes image forming units for yellow, magenta, cyan, and black. When at least one of the four image forming units is driven, an image is formed on a recording medium such as paper. When all four image forming units are driven, a full-color image is formed on the recording medium.
[0021] The paper feeding unit 150 is equipped with one or more paper feed cassettes and takes paper from one or more paper feed cassettes and supplies the paper to the image forming unit 140.
[0022] The MFP100 is equipped with a USB port. This explanation will use the example of a case where the card reader 200 is connected to the USB port of the MFP100.
[0023] The card reader 200 is a general-purpose card reader. The card reader 200 is supplied by multiple vendors. Therefore, the card reader 200 connected to the MFP 100 is a device supplied by one of these multiple vendors. Furthermore, a single vendor may supply multiple types of card readers. The card reader 200 connected to the MFP 100 is one of several types of card readers supplied by a particular vendor.
[0024] The main circuit 110 includes a CPU 111, a ROM 113, a RAM 114, an HDD 115, a facsimile unit 116, a communication unit 117, a USB controller 118, and an external storage device 119. The CPU 111 is connected via a bus to the ROM 113, RAM 114, HDD 115, facsimile unit 116, communication unit 117, USB controller 118, and external storage device 119. The CPU 111 is connected to the automatic document transport device 120, document reading unit 130, image forming unit 140, paper feeding unit 150, and operation panel 160, and controls the entire MFP 100.
[0025] ROM 113 stores the program executed by CPU 111, or the data necessary to execute that program. RAM 114 is used as a workspace when CPU 111 executes the program. RAM 114 also temporarily stores image data continuously sent from document reading unit 130. HDD 115 is a large-capacity storage device. A solid-state drive (SSD) may be used instead of HDD 115.
[0026] The facsimile unit 116 is connected to the Public Switched Telephone Network (PSTN) and transmits facsimile data to the PSTN, and also receives facsimile data from the PSTN. The facsimile unit 116 stores the received facsimile data in the HDD 115. The facsimile unit 116 also converts the facsimile data into printable data for the image forming unit 140 and outputs it to the image forming unit 140. As a result, the image forming unit 140 forms an image on paper from the facsimile data received by the facsimile unit 116. The facsimile unit 116 also converts the data stored in the HDD 115 into facsimile data and transmits it to a facsimile device connected to the PSTN.
[0027] The communication unit 117 is a communication interface that connects the CPU 111 to the network 3. The communication unit 117 communicates using communication protocols such as TCP (Transmission Control Protocol) or FTP (File Transfer Protocol). The communication unit 117 has a network port to which a network cable is connected.
[0028] The USB controller 118 has a USB port to which a USB cable is connected. USB devices are connected to the USB controller 118. The USB controller 118 manages and controls the USB devices connected to the USB port. The USB controller 118 has a polling function and a data transfer function for USB devices. The polling function for USB devices periodically polls the USB devices connected to the USB port and sends and receives data. USB devices have a built-in USB device controller. The USB device controller performs processes for sending and receiving data in the USB device and for detecting events on the USB bus. The process for sending and receiving data performs processes for providing device information. When connected to the USB controller 118, the USB device controller sends a vendor ID and a product ID to the USB controller 118. The vendor ID is information that identifies the vendor of the USB device. The product ID is information that identifies the type of USB device.
[0029] In this embodiment, the case in which a card reader 200 is connected as a USB device will be described as an example. When the card reader 200 is connected to the USB port, the USB controller 118 obtains the vendor ID and product ID of the card reader 200 and outputs them to the CPU 111. The USB controller 118 also receives a command from the CPU 111 and sends data to the card reader 200, and outputs the data received from the card reader 200 to the CPU 111.
[0030] The control panel 160 is provided on the top surface of the MFP 100. The control panel 160 includes a display unit 161 and an operation unit 163. The display unit 161 is, for example, a liquid crystal display (LCD) and displays instruction menus for the user, information about acquired image data, etc. Instead of an LCD, any device that can display images, such as an organic EL display, may be used.
[0031] The operating unit 163 includes a touch panel 165 and a hard key unit 167. The touch panel 165 is capacitive. However, the touch panel 165 is not limited to the capacitive type; other types such as resistive, surface acoustic wave, infrared, and electromagnetic induction can be used. The hard key unit 167 includes a plurality of hard keys. The hard keys are, for example, contact switches.
[0032] The external storage device 119 is controlled by the CPU 111 and has a CD-ROM 112 installed in it. In this embodiment, an example is described in which the CPU 111 executes a program stored in the ROM 113. Alternatively, the CPU 111 may control the external storage device 119 to read a program for execution from the CD-ROM 112, store the read program in the RAM 114, and then execute it.
[0033] Furthermore, the recording medium for storing the program to be executed by the CPU 111 is not limited to the CD-ROM 112, but may also be a flexible disk, cassette tape, optical disk, semiconductor memory, or other media. Optical disks include MO (Magnetic Optical Disc), MD (MiniDisc), and DVD (Digital Versatile Disc). Semiconductor memory includes IC cards, optical cards, mask ROM, and EPROM (Erasable Programmable ROM).
[0034] Furthermore, the CPU 111 may load programs stored in the HDD 115 into the RAM 114 and execute them on the CPU 111. Programs stored in the HDD 115 include programs downloaded by the CPU 111 from a computer connected to the Internet, or programs written to the HDD 115 by a computer connected to the Internet. The term "program" here includes not only programs that can be directly executed by the CPU 111, but also source programs, compressed programs, encrypted programs, and the like.
[0035] Figure 4 is a block diagram showing an example of the functions of the MFP in this embodiment. The functions shown in Figure 4 are realized by the CPU 111 of the MFP 100, which executes a driver installation program stored in the ROM 113, HDD 115, or CD-ROM 112. Alternatively, these functions may be implemented in hardware.
[0036] Referring to Figure 4, the CPU 111 of the MFP 100 includes a device information acquisition unit 51, a driver identification unit 53, a first installation unit 55, a request unit 57, a type information acquisition unit 59, a determination unit 60, and an application unit 75.
[0037] The application unit 75 is a task in which the CPU 111 executes a program that has been pre-installed on the MFP 100. The application unit 75 is not particularly limited, but here it will be explained as an example of a task that performs authentication processing. Authentication processing is the process of determining whether or not authentication information is genuine when authentication information is input. Authentication information is information predetermined in the MFP 100. For example, authentication information is determined for each of multiple users. Here it will be explained as an example of a case where the authentication information is information stored on an IC card. The user uses an IC card that they carry with them to have the authentication information stored on the IC card read by the card reader 200. The application unit 75 authenticates if the authentication information input from the card reader 200 is stored in the HDD 115, and does not authenticate if the authentication information is not stored in the HDD 115. Note that the authentication processing executed by the application unit 75 may be executed on another device instead of being executed on the MFP 100. In this case, the application unit 75 performs a process that mediates between the card reader 200 and the other device. Another device is, for example, server 300.
[0038] Furthermore, the authentication information may be, for example, a user ID and password. When a user operates the control panel 160 and enters a user ID and password into the operation unit 163, the application unit 75 authenticates if the entered user ID and password are stored in the HDD 115. The application unit 75 does not authenticate if the entered user ID and password are not stored in the HDD 115.
[0039] The device information acquisition unit 51 controls the USB controller 118. When a USB device is connected to a USB port, the USB controller 118 outputs the vendor ID and product ID of the USB device to the CPU 111. The device information acquisition unit 51 acquires the vendor ID and product ID of the USB device output by the USB controller 118. Based on the vendor ID and product ID of the USB device, the device information acquisition unit 51 identifies the USB device and outputs a device ID for identifying the identified USB device as device information for the USB device to the driver identification unit 53. The device information acquisition unit 51 acquires the device information of the USB device using a device table.
[0040] Figure 5 shows an example of a device table. Referring to Figure 4, the device table contains a device record for each USB device. The device record associates a vendor ID and a program ID with the USB device. The device record includes fields for device ID, device name, vendor ID, and product ID. The device ID field contains device identification information to identify the USB device. The device name field contains the name assigned to the USB device. The vendor ID field contains information identifying the vendor supplying the USB device. The product ID field contains information assigned to the type of USB device.
[0041] Returning to Figure 4, the driver identification unit 53 identifies one or more driver programs for controlling the card reader 200. The driver identification unit 53 identifies one or more driver programs using the vendor ID and product ID of the card reader 200 input from the device information acquisition unit 51.
[0042] Multiple driver programs are prepared in advance, each corresponding to a different device. Some card readers are capable of handling multiple types of IC cards. In this case, there may be multiple driver programs to control a single card reader. Each of the multiple driver programs corresponds to a different type of IC card. Therefore, the driver identification unit 53 may identify multiple driver programs from the vendor ID and product ID of the card reader 200.
[0043] In this embodiment, multiple driver programs are stored in the server 300. These multiple driver programs may also be stored in the HDD 115, or in the CD-ROM 112.
[0044] The driver identification unit 53 identifies one or more driver programs using the driver association information. The driver identification unit 53 outputs the identified one or more driver programs to the first installation unit 55. The driver association information associates one or more driver programs with the card reader. When multiple driver programs are associated with the card reader, the types of IC cards that the multiple driver programs can support are different. The driver association information associates multiple driver programs with at least one of several types of card readers.
[0045] Figure 6 shows an example of driver association information. Referring to Figure 6, the driver association information includes a driver record for each driver program. The driver record, which associates a USB device and support card with a driver program, includes a driver ID field, a driver name field, a device ID field, a support card 1 field, and a support card 2 field. The driver ID field is set with driver identification information to identify the driver program. The driver name field is set with the name assigned to the driver program. The device ID field is set with the device identification information of the USB device. The support card 1 field and the support card 2 field each contain the types of IC cards that the driver program can support. If the driver program can support only one type of card, that type is set in the support card 1 field, and nothing is set in the support card 2 field. If the driver program can support three or more types of IC cards, support card 3 and subsequent fields are added.
[0046] This section indicates that for the USB device identified by device ID "1", there are two driver programs: one with driver ID "1" and another with driver ID "2". It also indicates that the driver program with driver ID "1" corresponds to IC cards of type "Card Type A" and IC cards of type "Card Type B". The driver program with driver ID "2" corresponds to IC cards of type "Card Type C" and IC cards of type "Card Type D".
[0047] Returning to Figure 4, the first installation unit 55 installs one of the one or more driver programs identified by the driver identification unit 53 as a test program. By installing the driver program, the first installation unit 55 forms the first driver 71 on the CPU 111. The first driver 71 is the task of the CPU 111 executing the driver program installed by the first installation unit 55.
[0048] If the driver identification unit 53 identifies a driver program, the first installation unit 55 downloads that driver program from the server 300 as a test program and installs it.
[0049] If the driver identification unit 53 identifies multiple driver programs, the first installation unit 55 selects one of the multiple driver programs to be used as a test program. The first installation unit 55 downloads the selected test program from the server 300 and installs it. The first installation unit 55 selects one of the multiple driver programs to be used as a test program. The first installation unit 55 selects a driver program that has a function to determine the type of IC card as the test program.
[0050] If there are multiple driver programs that have the function of determining the type of IC card, the first installation unit 55 selects any one of the multiple driver programs that have the function of determining the type of IC card as a test program. If there are no driver programs that have the function of determining the type of IC card, the first installation unit 55 selects the one with the largest number of supported IC card types as a test program. If the number of supported IC card types is the same, the first installation unit 55 selects any one of them as a test program.
[0051] The following explanation uses the case where the card reader 200 is connected to the USB controller 118 as a USB device as an example. The vendor ID of the card reader 200 is assumed to be "1111" and the product ID is assumed to be "aaaa". In this case, when the vendor ID "1111" and product ID "aaaa" are input to the driver identification unit 53, the unit identifies the device ID "1" of the card reader 200 and outputs device ID "1" to the driver identification unit 53. When device ID "1" is input from the device information acquisition unit 51, the driver identification unit 53 identifies the driver program for driver ID "1" and the driver program for driver ID "2". Assume that the driver program for driver ID "1" has a function to determine the type of IC card, while the driver program for driver ID "2" does not. In this case, the driver program for driver ID "1" is installed as a test program by the first installation unit 55.
[0052] Once the CPU 111 has formed the first driver 71, the request unit 57 requests the user to perform an operation to read the IC card on the card reader 200. For example, the request unit 57 displays a read operation request screen on the display unit 161.
[0053] Figure 7 shows an example of a read operation request screen. Referring to Figure 7, the read operation request screen includes the message, "Please hold the card you wish to allow to be read over the card reader." This allows the user to be prompted to perform an operation to read the IC card that is intended for use by the card reader 200.
[0054] Returning to Figure 4, the type information acquisition unit 59 outputs a card type acquisition instruction to the first driver 71 after the request unit 57 requests the user to perform an operation to read the IC card on the card reader 200. In response to the input of the card type acquisition instruction, the first driver 71 controls the USB controller 118 to cause the card reader 200 to perform a process to determine the type of IC card. For example, the first driver 71 causes the card reader 200 to sequentially select from a number of communication protocols and communicate with the IC card using the selected communication protocol. Alternatively, the first driver 71 may cause the card reader 200 to acquire the card type from the IC card. Alternatively, the first driver 71 may cause the card reader 200 to sequentially transmit signals corresponding to a number of card standards and identify the card type based on the response pattern from the IC card.
[0055] The first driver 71 outputs the type of IC card acquired from the card reader 200 as card information to the type information acquisition unit 59. The type information acquisition unit 59 outputs the card information to the determination unit 60.
[0056] The determination unit 60 determines a compatible program for the IC card based on the card information. The determination unit 60 includes a judgment unit 61 and a second installation unit 63.
[0057] The determination unit 61 determines whether the test program is compatible with the IC card based on the card information. The determination unit 61 also determines whether the test program is compatible with the IC card by referring to the driver association information. Specifically, the determination unit 61 determines whether the card information is set in either the Support Card 1 item or the Support Card 2 item in the driver record of the test program. If the card information is set in either the Support Card 1 item or the Support Card 2 item, the determination unit 61 determines that the test program is compatible with the IC card. If the card information is not set in either the Support Card 1 item or the Support Card 2 item, the determination unit 61 determines that the test program is not compatible with the IC card. If the determination unit 61 determines that the test program is compatible with the IC card, the decision unit 60 determines the test program to be a compatible program that is compatible with the IC card.
[0058] If the determination unit 61 determines that the test program is not compatible with the IC card, it outputs an installation instruction to the second installation unit 63. The second installation unit 63 refers to the driver association information and determines a compatible program. The second installation unit 63 determines the driver program associated with the card information input from the type information acquisition unit 59 as the compatible program based on the driver association information.
[0059] Here, we will explain using the case where the card information is "Card Type C" as an example. The second installation unit 63 refers to the driver association information and determines the suitable program. The suitable program is a driver program that corresponds to the card reader 200 and the card information. The suitable program is identified by a driver record in which the device ID field is set to the device ID "1" of the card reader 200, and the card information "Card Type C" is set in the Support Card 1 field or the Support Card 2 field. In this example, the driver program with driver ID "2" is determined to be the suitable program.
[0060] The second installation unit 63 installs the compatible program. The second installation unit 63 downloads the compatible program from the server 300 and installs it. By installing the compatible program, the second installation unit 63 creates a second driver 73 on the CPU 111. The second driver 73 is the task of the CPU 111 executing the compatible program installed by the second installation unit 63. Also, when the second installation unit 63 installs the compatible program, it overwrites the executable file of the first driver 71 with the executable file of the second driver 73. The second installation unit 63 may also uninstall the test program installed by the first installation unit 55 when installing the compatible program.
[0061] If the test program is determined to be the compliant program, the application unit 75 performs authentication processing using the IC card information input from the card reader 200 via the first driver 71. If a driver program other than the test program is determined to be the compliant program, the application unit 75 performs authentication processing using the IC card information input from the card reader 200 via the second driver 73.
[0062] Figure 8 is a flowchart illustrating an example of the driver installation process. The driver installation process is performed by the CPU 111 of the MFP100, which executes the driver installation program stored in the ROM 113, HDD 115, or CD-ROM 112. Referring to Figure 8, the CPU 111 of the MFP100 determines whether or not it has acquired device information (step S01). It remains in a waiting state until device information is acquired (NO in step S01), and if device information is acquired (YES in step S01), the process proceeds to step S02.
[0063] The CPU 111 acquires device information input from the USB controller 118. When the card reader 200 is connected to the USB port, the USB controller 118 acquires the vendor ID and product ID from the card reader 200. The CPU 111 acquires the vendor ID and product ID output by the USB controller 118 as device information.
[0064] In step S02, it is determined whether the card reader 200 is a supported device. A supported device is a device for which a corresponding driver program exists. In this embodiment, multiple driver programs are stored in the server 300. Also, a device table, an example of which is shown in Figure 5, and driver association information, an example of which is shown in Figure 6, are stored in the server 300. The CPU 111 downloads the device table and driver association information in advance from the server 300 and stores them in the HDD 115. The CPU 111 refers to the device table and determines whether the card reader 200 connected to the USB controller 118 is a supported device. If a device record containing device information exists in the device table, the CPU 111 determines that the card reader 200 is a supported device. If a device record containing device information does not exist in the device table, the CPU 111 determines that the card reader 200 is not a supported device.
[0065] If the card reader 200 is determined to be a supported device, the process proceeds to step S03; otherwise, the process proceeds to step S16. In step S16, the lack of support is notified, and the process ends. The CPU 111 displays a message on the display unit 161 indicating that the card reader 200 is not a supported device, or a message indicating that there is no driver program corresponding to the card reader 200.
[0066] In step S03, an installation confirmation screen is displayed, and the process proceeds to step S04. The installation confirmation screen asks the user whether or not to install the driver program for the card reader 200.
[0067] Figure 9 shows an example of an installation confirmation screen. Referring to Figure 9, the installation confirmation screen includes the message, "Card reader 1 has been detected. Do you want to install the driver for the detected device?" The installation confirmation screen also includes a button with the text "Cancel" and a button with the text "OK". If the user presses the button with the text "OK", the CPU 111 accepts the user's instruction to install. If the user presses the button with the text "Cancel", the CPU 111 accepts the user's instruction not to install.
[0068] Returning to Figure 8, in step S04, it is determined whether or not the installation instruction has been accepted. If the installation instruction has been accepted, the process proceeds to step S05; otherwise, the process terminates. In step S05, candidate programs are identified. The CPU 111 identifies one or more driver programs using the device information obtained in step S01. The device information includes the vendor ID and the product ID. The CPU 111 refers to the device table stored in the HDD 115 to identify the device ID associated with the device information. Next, the CPU 111 refers to the driver association information stored in the HDD 115 to extract all driver records that include the device ID. The CPU 111 determines the driver programs identified in all of the extracted driver records as candidate programs.
[0069] In step S06, it is determined whether there are multiple candidate programs. If there are multiple candidate programs, the CPU 111 proceeds to step S07; otherwise, it proceeds to step S09. In step S09, the candidate programs are installed, and the process proceeds to step S10. The CPU 111 downloads the candidate programs from the server 300 and installs the downloaded candidate programs.
[0070] In step S07, the test program is determined, and the process proceeds to step S08. If the process proceeds to step S07, multiple candidate programs have been determined. In step S08, one of the multiple candidate programs is determined to be the test program. The CPU 111 determines the candidate program that has the function of determining the type of IC card to be the test program. If there are multiple candidate programs that have the function of determining the type of IC card, the CPU 111 determines any one of the multiple candidate programs that have the function of determining the type of IC card to be the test program.
[0071] In step S08, the test program is installed, and the process proceeds to step S09. The CPU 111 downloads the test program from the server 300 and installs the downloaded test program. In step S10, a read operation request screen is displayed, and the process proceeds to step S11. The CPU 111 displays the read operation request screen shown in Figure 7 on the display unit 161. The read operation request screen includes a message requesting the user to perform an operation to read the IC card that is scheduled to be used with the card reader 200. Therefore, the user viewing the reader request screen can perform the operation to have the card reader 200 read the IC card at the appropriate time.
[0072] In step S11, card information is acquired, and the process proceeds to step S12. The CPU 111 instructs the task executing the test program to acquire the type of IC card. The task executing the test program controls the USB controller 118 to cause the card reader 200 to perform the process of determining the type of IC card. When the user performs the task of reading the IC card, the card reader 200 acquires the type of IC card as card information and outputs it to the USB controller 118. The CPU 111 acquires the card information input from the card reader 200 by the USB controller 118.
[0073] In step S12, it is determined whether a suitable program exists. If a suitable program exists, the process proceeds to step S13; otherwise, the process proceeds to step S14. The CPU 111 determines a suitable program for the IC card based on the card information.
[0074] The CPU 111 refers to the driver association information stored in the HDD 115 to determine a compatible program for the IC card. The driver program associated with the device information obtained in step S01 and the card information obtained in step S11, along with the driver association information, is determined to be the compatible program. If a compatible program associated with the device information and card information exists, the process proceeds to step S13; otherwise, the process proceeds to step S16.
[0075] In step S16, the system is notified that the device is not supported, and the process ends. The CPU 111 displays a message on the display unit 161 indicating that the card reader 200 is not a supported device, and also a message indicating that there is no driver program corresponding to the card reader 200.
[0076] In step S13, it is determined whether the compliant program is the same as the test program. If the compliant program is the same as the test program, the process proceeds to step S15; otherwise, the process proceeds to step S14. If the process proceeds to step S15, the test program is determined to be the compliant program, so there is no need to reinstall the compliant program.
[0077] In step S14, the compliant program is installed in step S12, and the process proceeds to step S15. The CPU 111 downloads the compliant program from the server 300 and installs the downloaded compliant program. At this time, the executable file of the test program is overwritten by the executable file of the compliant program. Note that the test program may be uninstalled when the compliant program is installed.
[0078] In step S15, a setup completion screen is displayed, and the process ends. Figure 10 shows an example of the setup completion screen. Referring to Figure 10, the setup completion screen includes the message, "Settings are complete. Card type A is now available on card reader 1." This allows the user to be notified that the setup for reading IC cards on the card reader 200 is complete.
[0079] <Variation> In step S07 of the driver installation process shown in Figure 8, if there are no candidate programs with the function to determine the type of IC card, the CPU 111 may select the one with the largest number of compatible IC card types as the test program. Alternatively, if the number of compatible IC card types is the same, the CPU 111 may select any one of them as the test program. In this case, if the test program is not compatible with the IC card, a different candidate program is newly selected as the test program, and the processes in steps S08 to S12 are executed.
[0080] In the embodiments described above, the MFP100 was described as an example of an image processing device. The image processing device only needs to have the function of processing images. For example, the image processing device may be a printer that forms images, a scanner that reads documents, or a facsimile device that sends and receives facsimile data.
[0081] As described above, the MFP100 in this embodiment functions as an image processing device. The MFP100 includes a USB controller 118 to which a card reader 200 is connected, and a CPU 111. The CPU 111 acquires device information indicating the type of card reader 200 connected to the USB controller 118, and installs one test program from among several candidate programs corresponding to the device information. At this stage, the CPU 111 becomes able to control the card reader 200 using a driver, which is a task that executes the test program.
[0082] The CPU 111 then controls the driver task, which executes the test program, to obtain card information indicating the type of IC card that the card reader 200 will read. Based on the card information, the CPU 111 determines a suitable program from among several candidate programs that matches the IC card. Even if the test program is not suitable for the IC card, a suitable driver program can be identified. Therefore, the user does not need to input information about the card reader 200 and the type of IC card. The user only needs to have the card reader 200 read the IC card they intend to use. Thus, the user's configuration operation to enable control of the card reader 200 connected to the MFP 100 can be easily performed.
[0083] Furthermore, the CPU 111 determines whether the test program is compatible with the IC card based on the card information. If it determines that the test program is not compatible with the IC card, it installs a compatible program instead. As a result, a compatible program that is compatible with the IC card is automatically installed, simplifying user operation.
[0084] Furthermore, the CPU 111 uses driver association information, which associates one or more pieces of card information with each of the multiple driver programs corresponding to each of the various types of card readers, to determine whether the test program supports IC cards. This makes it easy to determine whether the test program supports IC cards.
[0085] Furthermore, the CPU 111 uses driver association information to identify multiple driver programs corresponding to the device information as candidate programs. Therefore, multiple driver programs for controlling the card reader 200 can be easily identified from the device information.
[0086] Furthermore, before acquiring card information, the CPU 111 displays a read operation request screen on the display unit 161, prompting the user to initiate an operation to read the IC card with the card reader 200. This ensures that the card reader 200 reliably acquires the card information. In addition, the processing performed by the MFP 100 and the user's operation can be synchronized, enabling the acquisition of card information.
[0087] <Summary of Embodiments> (Item 1) An interface unit to which a card reader is connected, A device information acquisition unit that acquires device information indicating the type of card reader connected to the interface unit, A first installation unit installs a test program from among several driver programs corresponding to the aforementioned device information, A type information acquisition unit controls the driver that executes the test program and acquires card information indicating the type of card that the card reader is to read, An image processing apparatus comprising: a determination unit that determines a suitable program from among the plurality of driver programs that is suitable for the card based on the card information.
[0088] In this scenario, device information of the card reader connected to the interface unit is acquired, and one of several driver programs corresponding to the device information is installed as a test program. At this stage, the card reader can be controlled using the driver that runs the test program. Then, by controlling the driver that runs the test program, the card information of the card to be read by the card reader is acquired, and based on the card information, a suitable program for the card is determined. Even if the test program is not suitable for the card, a suitable driver program for the card can be identified. Therefore, the user does not need to input information about the card reader and the type of card. As a result, an image processing device can be provided that facilitates user configuration operations to enable control of the card reader.
[0089] (Item 2) The system further comprises a determination unit that determines whether the test program is compatible with the card based on the card information, The image processing apparatus according to item 1, wherein the determination unit determines that the test program is not compatible with the card, and installs the compatible program in place of the test program.
[0090] In this scenario, if the test program is not compatible with the card, a compatible program will be installed in its place. Therefore, a compatible program that matches the card is automatically installed, simplifying the user experience.
[0091] (Item 3) The image processing apparatus according to Item 2, wherein the determination unit determines whether the test program corresponds to the card based on driver association information, which associates one or more pieces of card information with each of the multiple driver programs corresponding to the card reader for each of the multiple types of card readers.
[0092] In this scenario, driver association information associates one or more card details with each of the multiple driver programs corresponding to each of the various types of card readers. This makes it easy to determine whether a test program is compatible with a card.
[0093] (Item 4) The image processing apparatus according to any one of items 1 to 3, further comprising a driver identification unit that identifies the plurality of driver programs corresponding to the device information based on driver association information that associates the plurality of driver programs with at least one of the plurality of card readers.
[0094] In this scenario, driver association information associates multiple driver programs with at least one of several types of card readers. Therefore, multiple driver programs for controlling that card reader can be easily identified from the device information.
[0095] (Item 5) The image processing apparatus according to any one of Items 1 to 4, further comprising a requesting unit that requests the user to perform an operation to cause the card reader to read the card before the card information is acquired.
[0096] In this scenario, the user is required to initiate a process to have the card reader read the card before the card information is acquired. This ensures that the card reader reliably acquires the card information. Furthermore, the processing performed by the image processing device and the user's operation can be synchronized, allowing for the acquisition of card information.
[0097] (Item 6) A driver installation method performed on an image processing device equipped with an interface unit to which a card reader is connected, A device information acquisition step involves acquiring device information indicating the type of card reader connected to the interface unit, A first installation step involves installing a test program from among several driver programs corresponding to the aforementioned device information, A type information acquisition step involves controlling the driver that executes the test program to acquire card information indicating the type of card that the card reader is to read, A driver installation method comprising: a determination step of determining a suitable program from among a plurality of driver programs that is suitable for the card, based on the card information.
[0098] Following this approach, it is possible to provide a driver installation method that allows user configuration operations to enable control of the card reader.
[0099] (Item 7) A driver installation program that is executed on a computer that controls an image processing device equipped with an interface unit to which a card reader is connected, A device information acquisition step involves acquiring device information indicating the type of card reader connected to the interface unit, A first installation step involves installing a test program from among several driver programs corresponding to the aforementioned device information, A type information acquisition step involves controlling the driver that executes the test program to acquire card information indicating the type of card that the card reader is to read, A driver installation program that causes the computer to perform a determination step of determining a suitable driver program from among the plurality of driver programs that is suitable for the card, based on the card information, and
[0100] Following this approach, it is possible to provide a driver installation program that allows user configuration to enable control of the card reader.
[0101] The embodiments disclosed herein should be considered in all respects to be illustrative and not restrictive. The scope of the present invention is indicated by the claims rather than by the foregoing description, and all modifications within the meaning and scope equivalent to the claims are intended to be included. [Explanation of Symbols]
[0102] 1 Image forming system, 100 MFP, 110 Main circuit, 111 CPU, 112 CD-ROM, 113 ROM, 114 RAM, 115 HDD, 116 Facsimile unit, 117 Communication unit, 118 USB controller, 119 External storage device, 120 Automatic document transport device, 130 Document reading unit, 140 Image forming unit, 150 Paper feeding unit, 160 Operation panel, 161 Display unit, 200 Card reader, 300 Server, 9 Internet, 51 Device information acquisition unit, 53 Driver identification unit, 55 First installation unit, 57 Request unit, 59 Type information acquisition unit, 60 Decision unit, 61 Judgment unit, 63 Second installation unit, 71 First driver, 73 Second driver, 75 Application unit.
Claims
1. The interface section to which the card reader is connected, A device information acquisition unit that acquires device information indicating the type of card reader connected to the interface unit, A first installation unit installs one test program from among a plurality of driver programs corresponding to the aforementioned device information, A type information acquisition unit controls the driver that executes the test program and acquires card information indicating the type of card that the card reader is to read, An image processing apparatus comprising: a determination unit that determines a suitable program from among a plurality of driver programs that is suitable for the card based on the card information; and
2. The system further includes a determination unit that determines whether the test program is compatible with the card based on the card information, The image processing apparatus according to claim 1, wherein the determination unit determines that the test program is not compatible with the card, and installs the compatible program in place of the test program.
3. The image processing apparatus according to claim 2, wherein the determination unit determines whether the test program corresponds to the card based on driver association information, which associates one or more pieces of card information with each of the multiple driver programs corresponding to the card reader for each of the multiple types of card readers.
4. The image processing apparatus according to claim 1, further comprising a driver identification unit that identifies the plurality of driver programs corresponding to the device information based on driver association information which associates the plurality of driver programs with at least one of the plurality of card readers of a plurality of types.
5. The image processing apparatus according to any one of claims 1 to 4, further comprising a request unit that requests the user to perform an operation to cause the card reader to read the card before the card information is acquired.
6. A driver installation method performed on an image processing device equipped with an interface unit to which a card reader is connected, A device information acquisition step involves acquiring device information indicating the type of card reader connected to the interface unit, A first installation step involves installing a test program from among several driver programs corresponding to the aforementioned device information, A type information acquisition step involves controlling the driver that executes the test program to acquire card information indicating the type of card that the card reader is to read, A driver installation method comprising: a determination step of determining a suitable program from among a plurality of driver programs that is suitable for the card, based on the card information.
7. A driver installation program executed on a computer that controls an image processing device equipped with an interface unit to which a card reader is connected, A device information acquisition step involves acquiring device information indicating the type of card reader connected to the interface unit, A first installation step involves installing a test program from among several driver programs corresponding to the aforementioned device information, A type information acquisition step involves controlling the driver that executes the test program to acquire card information indicating the type of card that the card reader is to read, A driver installation program that causes the computer to perform a determination step of determining a suitable driver program from among a plurality of driver programs that is suitable for the card, based on the card information, and