Method for controlling image forming apparatus and image forming apparatus using same

An image forming apparatus and a method to normally execute an application using a function, which is not supported by the image forming apparatus, on the image forming apparatus are provided. An example image forming apparatus includes a user interface device to receive an execution request of an application using a first function and replace an execution request of the first function according to the execution request of the application with an execution request of a second function corresponding to the first function, a controller to generate an execution command of the second function according to the execution request of the second function, and a second function unit to execute the second function according to the execution command.

BACKGROUND ART

With developments in technology, a user interface device included in an image forming apparatus has advanced. User interface devices using separate operating systems (OSs) may execute, on image forming apparatuses, applications designed for the OSs. For example, when a user interface device of an image forming apparatus is operated by an Android OS, an Android-based application may be executed on the image forming apparatus. Accordingly, image forming apparatuses are able to support various applications to enable a variety of jobs, and functions of the image forming apparatuses expand.

DETAILED DESCRIPTION

Hereinafter, various examples will be provided with reference to the attached drawings. The examples below may be embodied in many different forms. For clarity of explanation, matters that are well known to one of ordinary skill in the art to which examples below pertain will not be described in detail.

It will be understood that when an element is referred to as being “connected to” another element, the element can be directly connected to the other element or intervening elements may be located between the element and the other element. It will be further understood that the terms “comprises” and/or “includes” used herein specify the presence of stated features or components, but do not preclude the presence or addition of one or more other features or components, unless otherwise defined.

In the following examples, the expression “image forming job” may denote an image-related job (e.g., printing, copying, scanning, or faxing) such as forming images, generating, storing, transmitting, etc. image files, or the like, and the term “job” may indicate an image forming job as well as a series of processes conducted to perform the image forming job.

Also, an “image forming apparatus” may be any device, for example, a printer, a copier, a scanner, a fax machine, a multi-function printer (MFP), a display device, etc., which may perform an image forming job.

Also, a “hard copy” may indicate a job of printing an image on a print medium such as paper, and a “soft copy” may indicate a job of printing an image on a display device such as a television (TV) or a monitor, or a job of saving an image to a memory.

Also, “content” may be any type of data that is a target of an image forming job, for example, a picture, an image, a document file, etc.

Also, “print data” may be data converted into a format printable by a printer.

Also, a “scan file” may be a file generated by a scanner after scanning an image.

Also, a “user” may be a person who uses an image forming apparatus or a device connected to an image forming apparatus by wire or wirelessly and conducts jobs related to image forming jobs. In addition, an “administrator” may be a person who has authority to access all functions of an image forming apparatus and a system. The “user” and the “administrator” may be the same person.

The following examples relate to an image forming apparatus and a method of controlling the same, and matters that are well known to one of ordinary skill in the art to which examples below pertain will not be described in detail.

FIG. 1is a diagram of a structure of an image forming apparatus, according to an example.FIG. 2is a diagram showing a connection between an image forming apparatus and a user terminal or a server, according to an example.

Referring toFIG. 1, an image forming apparatus100may include a user interface device110, a controller120, a communicator130, a memory140, and an image forming job unit150. Also, although not shown, the image forming apparatus100may further include a power supply for supplying power to each component.

The user interface device110may include an input unit for receiving an input from a user for performing an image forming job, and an output unit for displaying a result of performing the image forming job or information such as a state of the image forming apparatus100. For example, the user interface device110may include an operation panel that receives a user input, a display panel that displays a screen, or the like.

In an example, the input unit may include a device, for example, a keyboard, a physical button, a touch screen, a camera, a microphone, or the like, which are capable of receiving various types of user inputs. Also, the output unit may include, for example, a display panel, a speaker, or the like. However, the examples are not limited thereto. The user interface device110may include a device that supports various inputs/outputs.

The controller120may control an operation of the image forming apparatus100and may include at least one processor such as a central processing unit (CPU). The controller120may include other components included in the image forming apparatus100so that the controller120may perform an operation corresponding to the user input transmitted from the user interface device110. The controller120may include at least one specialized processor corresponding to each function or may be an integrated processor.

For example, the controller120may execute a program stored in the memory140, read data or files stored in the memory140, or store new files in the memory140.

The communicator130may perform wired/wireless communication with another device or a network. To this end, the communicator130may include a communication module supporting at least one of various wired/wireless communication methods. For example, the communication module may be a chipset, a sticker/barcode (e.g., a sticker including a Near Field Communication (NFC) tag), etc. including information necessary for communication.

The wireless communication may include, for example, at least one of Wireless Fidelity (Wi-Fi), Wi-Fi Direct, Bluetooth, Ultra Wide Band (UWB), NFC, or the like. The wired communication may include, for example, at least one of universal serial bus (USB), High Definition Multimedia Interface (HDMI), or the like.

The communicator130may be connected to an external device outside the image forming apparatus100and may receive/transmit signals or data from/to the external device.

Referring toFIG. 2, the image forming apparatus100may be connected to a user terminal200through the communicator130. The communicator130may transmit, to the controller120, the signals or data received from the user terminal200or transmit, to the user terminal200, signals or data generated by the controller120. For example, when the communicator130receives a print command signal and print data from the user terminal200, the controller120may output the received print data through a printer151.

In the example ofFIG. 2, the user terminal200may include an input unit/output unit210(i.e., an inputter/outputter), a controller220, a communicator230, and a memory240. The controller220may execute programs stored in the memory240and may transmit signals or data generated due to the execution of the programs to the image forming apparatus100through the communicator230, thereby controlling an image forming job. The user terminal200may include, for example, a smartphone, a tablet computer, a personal computer (PC), a home appliance, medical equipment, a camera, a wearable device, or the like.

The communicator130may be directly connected to a server300and may receive/transmit signals or data from/to the server300. Also, the communicator130may be connected to the user terminal200through the server300. For example, the communicator130of the image forming apparatus100may receive/transmit signals or data from/to the communicator230of the user terminal200through the server300.

Referring again toFIG. 1, programs such as applications may be installed and various types of data such as files may be stored in the memory140. The controller120may access and use the data stored in the memory140or may store new data in the memory140. Also, the controller120may execute the programs installed in the memory140. In addition, the controller120may install, in the memory140, applications received from an external source through the communicator130.

The image forming job unit150may perform an image forming job such as copying, printing, scanning, or faxing.

The image forming job unit150may include the printer151, a scanner152, and a fax machine153, but, according to necessity, the image forming job unit150may include only some of the above components or may further include components for performing other types of image forming jobs.

The printer151may produce an image on a recording medium by using various print methods such as an electrophotography method, an inkjet method, a thermal transfer method, a thermosensitive method, or the like.

The scanner152may irradiate light onto a document and receive reflected light, thus reading an image recorded on the document. As an image sensor that reads the image from the document, such as a charge coupled device (CCD), a contact-type image sensor (CIS), or the like may be used. The scanner152may be at a location where the document is fixed and may have a flatbed structure in which the image is read while the image sensor moves, a document feed structure in which the image sensor is at a fixed location and the document is fed, or a combination thereof.

The fax machine153may share a structure for scanning an image with the scanner152, share a structure for printing a received file with the printer151, and transmit a scanned file to a destination or receive a file from an external source.

In various examples, names of the above-described components of the image forming apparatus100may change. Also, the image forming apparatus100may include at least one of the above-described components and may include more or fewer components than the components shown in the drawing.

The user interface device110ofFIG. 1may include a separate control system. For example, separately from the controller120of the image forming apparatus100, the user interface device110may include a control system (e.g., a controller, a memory, or the like) for controlling a user interface (UI) provided by the user interface device110. In the control system of the user interface device110, an operating system (OS) for providing a UI and programs such as applications for supporting various functions may be installed.

FIG. 3is a diagram of a user interface device, according to an example.

Referring toFIG. 3, the user interface device110may include a controller111, a display112, an operation panel113, and a memory114.

As shown inFIG. 3, the user interface device110may include a control system (e.g., the controller111and the memory114) separately from the controller120. The controller111and the memory114may control a UI provided by the user interface device110. Like the controller120, the controller111may include a processor such as a CPU.

The display112may include a liquid crystal display (LCD) panel, a light-emitting diode (LED) panel, an organic LED (OLED) panel, or the like, and the operation panel113may include a physical button, a touch screen, or the like.

The user interface device110may be separable from the image forming apparatus100and may perform an input/output function. For example, when separated from the image forming apparatus100, the user interface device110may operate similarly to a tablet computer. In the case of the user interface device110that is separable, the user interface device110may further include a communicator to communicate with the image forming apparatus100as well as an external device.

Applications for supporting various functions may be installed in the user interface device110of the image forming apparatus100. However, when the applications use functions that are not supported by the image forming apparatus100and/or when the image forming apparatus100ignores execution requests of such applications, expected results are not provided by the applications and the image forming apparatus100may malfunction. In the following description, examples of a method of controlling the image forming apparatus100to normally execute an application, which uses a function that is not supported by the image forming apparatus100, on the image forming apparatus100, and the image forming apparatus100using the method will be described.

FIG. 4is a diagram of a structure of an image forming apparatus, according to an example.

Referring toFIG. 4, the image forming apparatus100may include the user interface device110, the controller120, and a second function unit170.

Applications for supporting various functions may be installed in the user interface device110. For example, there may be applications for supporting functions such as copying, printing, scanning, faxing, or the like, which are provided by the image forming apparatus100. In addition, as applications developed by third parties, there may be applications that support various functions and are executable on the same OS environment as the user interface device110of the image forming apparatus100. A user may select an icon of the application installed in the user interface device110and thus may transmit an execution request of the selected application.

The user interface device110may receive an execution request of an application using a first function and may replace an execution request of the first function according to the execution request of the application with an execution request of a second function corresponding to the first function. Here, the first function may be a function that is not supported by the image forming apparatus100, and the second function may be a function that is supported by the image forming apparatus100. For example, the first function may be a camera function, and the second function may be a scanning function.

The user interface device110may determine whether a first function unit to execute the first function exists. When the first function unit does not exist according to a determination result, the user interface device110may replace the execution request of the first function with the execution request of the second function.

The user interface device110may convert a first setting value regarding the first function into a second setting value regarding the second function and may replace the execution request of the first function based on the first setting value with the execution request of the second function based on the second setting value. The user interface device110may display, on a screen, the second setting value regarding the second function.

The user interface device110may check a state of the second function unit170executing the second function, and, according to the checked state, the user interface device110may transmit the execution request of the second function to the controller120.

According to the execution request of the second function, the controller120may generate an execution command of the second function. In response to the execution request of the second function, the controller120may perform user authentication regarding a user's authority to execute the second function. When the authentication succeeds according to an authentication result, the controller120may generate the execution command of the second function. When the authentication fails, the controller120may transmit the authentication result to the user interface device110to allow the user interface device110to display an error message.

The second function unit170may execute the second function according to the execution command.

The user interface device110may receive an execution result of the second function and may convert the execution result into a format designated by the application using the first function.

In a Bring Your Own Device (BYOD) environment in which the image forming apparatus100is controlled by using the user terminal200outside the image forming apparatus100, an application, which is the same as the application installed in the user interface device110and using the first function, may be installed in the user terminal200. When the application using the first function is executed on the user terminal200while the image forming apparatus100is controlled through the communication therewith, the user terminal200may detect the execution request of the first function according to the execution request of the application using the first function and may replace the execution request of the first function with the execution request of the second function, thus transmitting the execution request of the second function to the image forming apparatus100. To this end, the image forming apparatus100may further include the communicator130that communicates with the user terminal200controlling the image forming apparatus100. The communicator130may receive the execution request of the second function corresponding to the first function from the user terminal200that receives the execution request of the application using the first function. The controller120of the image forming apparatus100may generate the execution command of the second function according to the execution request of the second function and may execute the second function according to the execution command of the second function unit170.

FIG. 5is a diagram of operations of an image forming apparatus and a user interface device when an execution request of an application using a first function is received by the image forming apparatus, according to an example. Hereinafter, an example of a case in which the first function is a camera function and the second function is a scanning function will be described.

Referring toFIG. 5, applications for supporting unique functions of the image forming apparatus100such as copying, printing, scanning, faxing, or the like as well as applications for expanding unique functions provided by the image forming apparatus100may be installed in the user interface device110. The user may select an icon of an application installed in the user interface device110and may transmit the execution request of the selected application.

The user interface device110of the image forming apparatus100may receive, from the user, the execution request of the application using the first function in operation S510. For example, the user interface device110may receive an execution request of an application using a camera function from the user.

The user interface device110of the image forming apparatus100may replace the execution request of the first function with the execution request of the second function corresponding to the first function in operation S520. For example, the user interface device110of the image forming apparatus100may replace the execution request of the camera function with an execution request of a scanning function.

The user interface device110of the image forming apparatus100may transmit the execution request of the second function to the controller120of the image forming apparatus100in operation S530. The controller120of the image forming apparatus100may receive the execution request of the second function corresponding to the first function from the user interface device110of the image forming apparatus100. For example, the user interface device110may transmit the execution request of the scanning function to the controller120of the image forming apparatus100.

FIG. 6is a diagram of processes by which a user interface device of an image forming apparatus replaces an execution request of a first function with an execution request of a second function corresponding to the first function and requests the execution of the second function, according to an example.

Referring toFIG. 6, the user interface device110of the image forming apparatus100may determine whether the first function unit executing the first function exists in operation S610. For example, the user interface device110of the image forming apparatus100may identify whether the first function unit capable of executing the first function is included in the image forming apparatus100. As an example, the user interface device110of the image forming apparatus100may identify whether a camera module capable of executing the camera function is included in the image forming apparatus100.

In operation S620, the user interface device110of the image forming apparatus100may request the execution of the first function when the first function unit executing the first function exists. Accordingly, as the first function unit executes the first function, the application using the first function may be normally executed. For example, when the image forming apparatus100includes the camera module capable of executing the camera function, the user interface device110of the image forming apparatus100may request the execution of the camera function of the camera module of the image forming apparatus100.

In operation S630, the user interface device110of the image forming apparatus100may check the second function corresponding to the first function when the first function unit executing the first function does not exist. For example, the user interface device110of the image forming apparatus100may check the second function unit170replacing the first function unit by using a mapping table in which the second function unit170capable of replacing the first function unit is made to correspond to the first function unit. The mapping table may be stored in the memory114of the user interface device110in advance. For example, when a function unit capable of replacing the camera module corresponds to the scanner152in the mapping table, it is identified that a function replacing the camera function is the scanning function.

In operation S640, the user interface device110of the image forming apparatus100may convert the first setting value regarding the first function into the second setting value regarding the second function. For example, the user interface device110of the image forming apparatus100may convert a setting value regarding a camera function into a setting value regarding a scanning function.

FIG. 7illustrates a conversion table showing a conversion of a first setting value regarding a first function into a second setting value regarding a second function in a user interface device of an image forming apparatus, according to an example.

Referring toFIG. 7, a conversion table is illustrated in which the first function is the camera function and the second function capable of replacing the first function is the scanning function. The conversion table may be stored in the memory114of the user interface device110in advance.

The camera may have various setting items for executing the camera. As shown inFIG. 7, various setting items such as exposure, a location, a countdown timer, a picture size, a flash mode, and a front/back camera may be used while the camera is executed.

The scanner152functions similarly to the camera in that the scanner152produces an image as an execution result. However, setting items for executing the camera are not exactly the same as those of the scanner152. For example, a difference is that various modules included in the camera are not included in the scanner152or modules of the scanner152are not able to reflect setting values of the setting items for the execution of the camera. Furthermore, some setting items are irrelevant to the execution of the scanner152.

The user interface device110of the image forming apparatus100may use a conversion table to convert the first setting value regarding the first function into the second setting value regarding the second function and may convert the first setting value regarding the first function into the second setting value regarding the second function. For example, as illustrated in the example ofFIG. 7, because the setting items of the camera function such as exposure, a countdown timer, a flash mode, and a front/back camera are irrelevant to functions of the scanner152, respective settings regarding the functions of the scanner152may be ignored. On the contrary, a location setting regarding the camera function may be activated so that a location of the image forming apparatus100including the scanner152may be used when the scanning function is executed. A picture size setting regarding the camera function may be reflected as a resolution setting regarding the scanning function, and thus, a scanning resolution setting of the scanner152may be changed.

The user interface device110may display the second setting value regarding the second function on the screen. For example, the user interface device110may display the second setting value regarding the second function on the screen after finishing conversion of the first setting value regarding the first function into the second setting value regarding the second function. When the first function is the camera function and the second function is the scanning function, the user may check which setting values are changed when the camera function is changed to the scanning function.

FIG. 8is a diagram showing a screen displaying a second setting value regarding a second function which is converted from a first setting value regarding a first function in a user interface device of an image forming apparatus, according to an example.

Referring toFIG. 8, it is possible to check the setting values of the scanning function replacing the camera function when the first function is the camera function and the second function is the scanning function. As illustrated inFIG. 8, it is identified that a scan resolution is 600 dpi, an image format is JPEG, a location is set as Seoul, Korea, and a color mode is on (i.e., color). In this case, the user may change setting values of some setting items of the scanning function on the displayed screen. For example, the scan resolution of 600 dpi may be increased or decreased.

Although not illustrated inFIG. 8, the user interface device110may display a screen on which the setting items and/or setting values regarding the first function respectively correspond to the setting items and/or setting values regarding the second function. Accordingly, when the first function is replaced with the second function, the user may check which setting values regarding the first function are changed to which setting values of the second function.

Referring again toFIG. 6, in operation S650, the user interface device110of the image forming apparatus100may replace the execution request of the first function based on the first setting value with the execution request of the second function based on the second setting value. For example, the user interface device110of the image forming apparatus100may replace the execution request of the camera function based on the first setting value with the execution request of the scanning function based on the second setting value.

In operation S660, the user interface device110of the image forming apparatus100may check the state of the second function unit170executing the second function and determine whether the second function unit170is executable. For example, the user interface device110of the image forming apparatus100may check the state of the scanner152and determine whether the scanner152is executable.

In operation S670, when the second function unit170is not executable as a result of checking the state of the second function unit170, the user interface device110of the image forming apparatus100may display a state message indicating that the second function unit170is not currently executable or an error message indicating that it is not possible to drive the second function unit170. For example, when the scanner152is not executable, the user interface device110of the image forming apparatus100may display an error message indicating that the scanner152is presently working or it is not possible to drive the scanner152.

In operation S680, when the second function unit170is executable as a result of checking the state of the second function unit170, the user interface device110of the image forming apparatus100may transmit the execution request of the second function to the controller120of the image forming apparatus100. For example, when the scanner152is executable, the user interface device110of the image forming apparatus100may transmit the execution request of the scanning function to the controller120of the image forming apparatus100.

Referring again toFIG. 5, according to the execution request of the second function, the controller120of the image forming apparatus100may generate the execution command of the second function in operation S540. In this case, the controller120may perform the user authentication regarding the authority to execute the second function in response to the execution request of the second function. When the authentication succeeds according to the authentication result, the controller120may generate the execution command of the second function. When the authentication fails, the controller120may transmit, to the user interface device110, the authentication result to allow the user interface device110to display the error message.

For example, as the execution request of the scanning function is transmitted, the controller120of the image forming apparatus100may perform the user authentication regarding the authority to execute the scanning function in response to the execution request of the scanning function. When the authentication succeeds according to the authentication result, the controller120may generate an execution command of the scanning function. To this end, the user interface device110of the image forming apparatus100may transmit user information together with the execution request of the scanning function to the controller120. Such user information may be used not only for the user authentication but also for other purposes such as user billing management, or the like.

The second function unit170of the image forming apparatus100may execute the second function according to the execution command in operation S550. For example, the scanner152may execute the scanning function according to the execution command.

The second function unit170of the image forming apparatus100may transmit an execution result of the second function to the user interface device110in operation S560. For example, the scanner152may transmit an execution result of the scanning function to the user interface device110. In this case, other information such as user billing information, or the like, may also be transmitted.

The user interface device110of the image forming apparatus100may convert the execution result of the second function into a format designated by the application using the first function in operation S570. The user interface device110of the image forming apparatus100may display the execution result of the second function in the converted format. For example, the user interface device110of the image forming apparatus100may convert the execution result of the scanning function into a file format such as JPG, PNG, PDF, TIFF, or the like. Also, when multiple images are scanned, the user interface device110of the image forming apparatus100may produce scanned results into one image.

FIG. 9illustrates a process in which, when multiple images are scanned in an image forming apparatus, scanned results are produced into one image, according to an example.

Referring toFIG. 9, multiple scanned images are adjusted in size and arranged to fit into one image having a size designated by the user in the case of {circle around (1)}. In the case of {circle around (2)} and {circle around (3)}, the user vertically or horizontally aligns multiple scanned images to create one image such as a panorama image.

FIG. 10shows a setting menu on which second setting values regarding a second function corresponding to a first function may be set in advance in a user interface device of an image forming apparatus, according to an example.

Referring toFIG. 10, when a first function is the camera function and a second function is the scanning function, the camera function may be selected on the setting menu. For example, a selection of either On or Off may be made to replace the camera function with another function ({circle around (1)}), and the scanning function may be selected as a replacement for the camera function ({circle around (2)}). In the example ofFIG. 10, when the location setting item of the scanning function replacing the camera function is on, it is found that a location value of the image forming apparatus100is replaced with the location setting item, the color mode is set as color, and the resolution is 600 dpi ({circle around (3)}). When the camera function is replaced with the scanning function of the image forming apparatus100, whether to perform user authentication may be set in advance ({circle around (4)}). Also, when execution results of the scanning function are set to be stored as JPEG images and multiple images are scanned, the scanned images may be vertically aligned and produced into one image ({circle around (5)}). In addition, settings may be made not to display, on the screen, second setting values regarding the scanning function after converting first setting values regarding the camera function into the second setting values regarding the scanning function ({circle around (6)}).

FIG. 11is a flowchart of a method of controlling an image forming apparatus, according to an example.

Referring toFIG. 11, the image forming apparatus100may receive the execution request of the application using the first function in operation S1110.

In operation S1120, the image forming apparatus100may replace the execution request of the first function according to the execution request of the application with the execution request of the second function. Here, the first function may be a function that is not supported by the image forming apparatus100, and the second function may be a function that is supported by the image forming apparatus100. For example, the first function may be the camera function, and the second function may be the scanning function.

The image forming apparatus100may determine whether the first function unit executing the first function exists. When the first function unit does not exist according to a determination result, the execution request of the first function may be replaced with the execution request of the second function.

The image forming apparatus100may convert the first setting value regarding the first function into the second setting value regarding the second function and may replace the execution request of the first function based on the first setting value with the execution request of the second function based on the second setting value. The image forming apparatus100may display the second setting value regarding the second function on the screen.

The image forming apparatus100may check the state of the second function unit170executing the second function and may request the execution of the second function according to the checked state.

The image forming apparatus100may generate the execution command of the second function according to the execution request of the second function in operation S1130. The image forming apparatus100may perform user authentication regarding the authority to execute the second function in response to the execution request of the second function. When the authentication succeeds according to the authentication result, the execution command of the second function may be generated. The image forming apparatus100may display an error message when the authentication fails.

The image forming apparatus100may execute the second function according to the execution command in operation S1140. The image forming apparatus100may convert the execution result of the second function into a format designated by the application using the first function.

FIG. 12is a diagram of operations of an image forming apparatus and a user terminal when an execution request of an application using a first function is received by the user terminal capable of controlling the image forming apparatus through communication therewith, according to an example.

Referring toFIG. 12, in a BYOD environment in which the image forming apparatus100is controlled by the user terminal200outside the image forming apparatus100, when the application that is the same as the application, which uses the first function and is installed in the user interface device110, is installed in the user terminal200and when the application using the first function is executed while the user terminal200controls the image forming apparatus100by communicating therewith, the image forming apparatus100and the user terminal200may operate as follows.

The image forming apparatus100and the user terminal200may establish a communication channel to control the image forming apparatus100by using the user terminal200in operation S1210.

The user terminal200may receive, from the user, an execution request of an application using a first function and may detect the execution request of the first function according to the execution request of the application using the first function in operation S1220.

The user terminal200may replace the execution request of the first function with an execution request of the second function corresponding to the first function in operation S1230.

The user terminal200may transmit the execution request of the second function to the image forming apparatus100in operation S1240. The communicator130of the image forming apparatus100may receive, from the user terminal200, the execution request of the second function corresponding to the first function.

The controller120of the image forming apparatus100may generate the execution command of the second function according to the execution request of the second function in operation S1250.

The second function unit170of the image forming apparatus100may execute the second function according to the execution command in operation S1260.

The user interface device110of the image forming apparatus100may display the execution result of the second function in operation S1270.

The communicator130of the image forming apparatus100may transmit the execution result of the second function to the user terminal200in operation S1280.

The user terminal200may convert the execution result of the second function into a format designated by the application using the first function installed in the user terminal200in operation S1290.

The one or more examples may be realized as a non-transitory computer-readable recording medium in which instructions executable by a computer and data are stored. At least one of the instructions and data may be stored as program code, and when executed by a processor, the at least one of the instructions and data may generate a certain program module and perform a certain operation. Examples of the non-transitory computer-readable recording medium include read-only memory (ROM), random-access memory (RAM), flash memory, CD−ROMs, CD−Rs, CD+Rs, CD−RWs, CD+RWs, DVD−ROMs, DVD−Rs, DVD+Rs, DVD−RWs, DVD+RWs, DVD−RAMs, BD−ROMs, BD−Rs, BD−R LTHs, BD−REs, magnetic tapes, floppy disks, photomagnetic data storage devices, optical data storage devices, hard disks, solid state disks (SSDs), and any device capable of storing instructions or software, relevant data, data files, and data structures, and providing processors or computers with instructions or software, relevant data, data files, and data structures so that the processors or computers can execute the instructions. For example, the non-transitory computer-readable recording medium may be the memory140of the image forming apparatus100or the memory114of the user interface device110.

Examples have been particularly shown and described above. However, it will be understood by one of ordinary skilled in the art that various changes in form and details may be made to the above described examples without departing from the spirit and scope of the disclosure as defined by the appended claims. Thus, the examples should be considered in descriptive sense only and not for purposes of limitation. Therefore, the scope of the disclosure is defined not by the above description of the disclosure but by the appended claims, and all differences within the scope will be construed as being included in the disclosure.