This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2020-212718 filed Dec. 22, 2020.
The present disclosure relates to an information processing device and a non-transitory computer readable medium.
Japanese Unexamined Patent Application Publication No. 10-334182 discloses a technology by which scan position information to be used in scanning by an optical character reading device is created more efficiently.
A form scanning definition, which contains preset scanning ranges at which to scan information written or inputted into a form in advance, is created on the basis of a single form in many cases. Also, it is anticipated that a scanning definition created on the basis of a first form will be applied to another form of similar type to the first form to scan information that has been written or inputted into the other form in advance. In this case, differences in the information written or inputted into each of the first form and the other form in advance may result in situations where the scanning ranges in the scanning definition are too narrow to read the relevant information, or conversely, the scanning ranges may be too wide and unwanted information may be read. Consequently, it is preferable to check the validity of the application of the scanning definition.
Aspects of non-limiting embodiments of the present disclosure relate to checking the validity of whether or not a scanning definition, that is, a definition used when scanning a document in which information has been written or inputted into predetermined fields, is applicable to another document of similar type.
Aspects of certain non-limiting embodiments of the present disclosure address the features discussed above and/or other features not described above. However, aspects of the non-limiting embodiments are not required to address the above features, and aspects of the non-limiting embodiments of the present disclosure may not address features described above.
According to an aspect of the present disclosure, there is provided an information processing device includes a processor configured to: receive a setting of a scanning definition, the scanning definition being a definition to be used when scanning information in a first document in which information has been written or inputted into predetermined fields; and cause a result obtained by using the scanning definition to scan a document of similar type to the first document, namely a second document in which information has been written or inputted into predetermined fields, to be displayed.
Exemplary embodiments of the present disclosure will be described in detail based on the following figures, wherein:
Hereinafter, a form system 10 according to an exemplary embodiment will be described.
As illustrated in
The information processing device 20 manages the flow of a series of process that includes performing an optical character recognition (OCR) process on the image data of a multi-page document containing a form, the image data being inputted through the input device 60, and outputting the result of the OCR process to a predetermined destination. A specific configuration and action of the information processing device 20 will be described later.
The client terminal 40 transmits various instructions related to the OCR process to the information processing device 20. For example, the various instructions include an instruction for starting a scan of information in the image data and an instruction for displaying a result of scanning information in the image data. Also, the client terminal 40 displays various information, such as the result of the OCR process performed by the information processing device 20 according to various received instructions, and notifications related to the OCR process. For the client terminal 40, a server computer or a general-purpose computer device such as a personal computer (PC) is applied, for example. In
The input device 60 inputs image data to be subjected to the OCR process into the information processing device 20. For the input device 60, a server computer, a general-purpose computer device such as a PC, or an image forming device including functions such as a scanner function, a printer function, and a fax machine function is applied, for example. Note that image data may also be inputtable into the information processing device 20 from the client terminal 40 in addition to the input device 60.
Next, an overview of the form system 10 will be described. The form system 10 is a system in which the information processing device 20 performs the OCR process on image data inputted through the input device 60, and outputs the result of the OCR process to a predetermined destination.
In the OCR process, the information processing device 20 manages the various processes of (1) workflow design and operation verification, (2) inputting data, (3) scanning data, (4) confirming or correcting the form identification, (5) confirming or correcting the scan result, (6) checking the workflow, (7) outputting data, and (8) sending back. In the exemplary embodiment, the OCR process is used to refer to not only the process of simply reading information such as characters and symbols from image data, but also post-processing such as character correction.
As an example of managing the various processes, the processes of (1) workflow design and operation verification, (2) inputting data, (3) scanning data, (6) checking the workflow, and (7) outputting data are each executed by the information processing device 20 automatically. Also, as an example of managing the various processes, the processes of (4) confirming or correcting the form identification and (5) confirming or correcting the scan result are each received by input from the user through the client terminal 40. Also, as an example of managing the various processes, the process of (8) sending back may be executed by the information processing device 20 automatically in some cases, and may also be received by input from the user through the client terminal 40 in some cases.
In the process of (1) workflow design and operation verification, job rules including scanning definition settings, output settings, and workflow check settings are created. In the scanning definition settings, scanning ranges prescribing ranges from which to read information in the image data in the process of “(3) scanning data” are set, for example. As a more specific example, a definition may be set so as to read a field value existing as a nearby value to the right of a field extracted as a key. In the output settings, the file format and destination of the output data to be output in the process of “(7) outputting data” are set, for example. In the workflow check settings, format settings such as required input fields and the number of inputtable characters in the form to be detected in the process of “(6) checking the workflow” are set, for example.
In the process of (2) inputting data, image data is received from the input device 60 as input. The image data received as input is registered as a job, which is the unit of execution in the process of “(3) scanning data”.
In the process of (3) scanning data, job rules for the job to be executed which are selected by the user from among job rules created in the process of “(1) workflow design and operation verification” are used to read information in the image data of the job. For example, in this process, a process of identifying the form included in the image data in the job (hereinafter referred to as “form identification”) and a process of reading characters and symbols inside the scanning ranges are performed.
In the process of (4) confirming or correcting the form identification, the image data in the job is divided into records indicating the form included in the job, on the basis of the result of the form identification performed in the process of “(3) scanning data”. Thereafter, in this process, the divided records are displayed, and a confirmation or correction of the form identification is received from the user.
In the process of (5) confirming or correcting the scan result, the result of scanning characters and symbols inside the scanning ranges performed in the process of “(3) scanning data” is displayed, and a confirmation or correction of the scan result is received from the user.
In the process of (6) checking the workflow, errors in each of the preceding processes are detected according to the workflow check settings included in the job rules for the job that were selected by the user from among the job rules created in the process of “(1) workflow design and operation verification”. The detection result may also be presented to the user.
In the process of (7) outputting data, output data is created using the output settings included in the job rules for the job that were selected by the user from among the job rules created in the process of “(1) workflow design and operation verification”, and the created output data is output to a predetermined destination.
In the process of (8) sending back, a process executed in the OCR process is sent back one or multiple stages. As an example, an instruction for sending back is given by the user from the client terminal 40 during the execution of the various processes such as “(4) confirming or correcting the form identification” and “(5) confirming or correcting the scan result”. As another example, an instruction for sending back is given from the client terminal 40 of an administrator according to the result of a check by the administrator performed between the processes of “(6) checking the workflow” and “(7) outputting data”.
In the above OCR process, the process of “(1) workflow design and operation verification” is executed before the processes from “(3) scanning data” onward are performed, or in other words, before the form system 10 is put into operation. Furthermore, the process of “(1) workflow design and operation verification” may also be executed during the operation of the form system 10 in which the processes from “(3) scanning data” onward are being performed. As an example, the job rules created in the process of “(1) workflow design and operation verification” before the form system 10 is put into operation may be corrected appropriately according to the result of the process of “(5) confirming or correcting the scan result” while the form system 10 is in operation.
As illustrated in
The CPU 21 is a central processing unit that executes various programs and controls each unit. In other words, the CPU 21 reads out a program from the ROM 22 or the storage unit 24, and executes the program while using the RAM 23 as a work area. The CPU 21 controls each unit described above and performs various arithmetic processing in accordance with the program stored in the ROM 22 or the storage unit 24. In the exemplary embodiment, an information processing program for executing at least a display process described later is stored in the ROM 22 or the storage unit 24. Note that the information processing program may be preinstalled in the information processing device 20, or the information processing program may be stored in a non-volatile storage medium or distributed over a network and installed in the information processing device 20 appropriately. Anticipated examples of the non-volatile storage medium include a CD-ROM, a magneto-optical disc, a hard disk drive (HDD), a DVD-ROM, flash memory, or a memory card.
The ROM 22 stores various programs and various data. The RAM 23 temporarily stores programs or data as a work area.
The storage unit 24 includes a storage device such as an HDD, a solid-state drive (SSD), or flash memory, and stores various programs, including an operating system, and various data.
The input unit 25 includes a pointing device such as a mouse and a keyboard, and is used to input various information.
The display unit 26 is a liquid crystal display, for example, and displays various information. The display unit 26 may also adopt touch panel technology and function as the input unit 25.
The communication unit 27 is an interface for communicating with other equipment such as the client terminal 40. The communication is achieved by using a wired communication standard such as Ethernet® or FDDI, or a wireless communication standard such as 4G, 5G, or Wi-Fi®, for example.
When executing the information processing program described above, the information processing device 20 uses the hardware resources described above to execute a process based on the information processing program.
In step S10 illustrated in
Hereinafter,
As an example, the dictionary includes a dictionary for recognizing characters corresponding to character sets such as Japanese hiragana, katakana, and kanji, Hepburn romanization, and Arabian numerals, as well as a dictionary for recognizing symbols such as ( ), /, and < >.
Anticipated examples of data correction include correcting a scan result of “Inc.” to “Incorporated”, and correcting a scan result in half-width characters to full-width characters.
Thereafter, characters and symbols inside the scanning ranges are read using one or multiple dictionaries selected by the user, and the scan result is subjected to data correction where appropriate. Note that the data correction may be performed by the information processing device 20 automatically or according to input from the user through the client terminal 40.
In the thumbnail display area 41, thumbnail images of the image data included in a single job are displayed. As an example, in the case where the image data included in the job contains two document pages, two thumbnail images labeled “PG. 1” and “PG. 2” are displayed, as illustrated in
In the document display area 42, image data of the document corresponding to the thumbnail image selected in the thumbnail display area 41 is displayed. In
In the result display area 43, a scan display area 43A that indicates a scan result of characters and symbols inside a scanning range set as the scanning range for the job and a field display area 43B that indicates a field name corresponding to the scan result are displayed.
The Back button 44 is a button for changing the image data displayed in the document display area 42 to the image data of the previous document page. As an example, in the case where the image data of the second document page is being displayed in the document display area 42 and the Back button 44 is operated, the image data of the first document page is displayed in the document display area 42. Note that in the case where the image data of the front-most document page is being displayed in the document display area 42 and the Back button 44 is operated, the image data of the rear-most document page is displayed in the document display area 42.
The Next button 45 is a button for changing the image data displayed in the document display area 42 to the image data of the next document page. As an example, in the case where the image data of the first document page is being displayed in the document display area 42 and the Next button 45 is operated, the image data of the second document page is displayed in the document display area 42. Note that in the case where the image data of the rear-most document page is being displayed in the document display area 42 and the Next button 45 is operated, the image data of the front-most document page is displayed in the document display area 42.
The Cancel button 46 is a button for causing the screen of the client terminal 40 to change to predetermined display content when operated.
In
As an example, the frame information 42A is created according to a mouse operation by the user. Specifically, after left-clicking to select a predetermined icon not illustrated on the screen of the client terminal 40, the frame information 42A is created by left-clicking a desired position in the document display area 42, dragging the mouse while still holding down the left mouse button, and then releasing the left mouse button. Also, the dimensions and shape of the frame expressed by the created frame information 42A may be changed, and furthermore, the frame may be moved to any position in the document display area 42.
Also, in
Returning to
In
Also, in
Also, in
Returning to
As an example, the CPU 21 causes the display example illustrated in
In
In
Here, a form scanning definition is created on the basis of a single first form in many cases. Also, a scanning definition created on the basis of a first form may be applied to another form of similar type to the first form to scan information that has been written or inputted into the other form in advance. In this case, differences in the information written or inputted into each of the first form and the other form in advance may result in situations where the scanning ranges in the scanning definition are too narrow to read the relevant information, or conversely, the scanning ranges may be too wide and unwanted information may be read. Consequently, it is preferable to check the validity of the application of the scanning definition.
The above issue does not readily occur if the ranges where information is to be written or inputted into the predetermined fields of the form are enclosed with border lines, but the above issue has a high probability of occurring in the case where the ranges where the above information is to be written or inputting are not enclosed with border lines, like in the first exemplary embodiment. The reason is that, in the case where the ranges where the above information is to be written or inputted are enclosed with border lines, it is sufficient simply to create scanning ranges to match the border lines, but in the case where the ranges are not enclosed with border lines, it is difficult to unambiguously define the positions and dimensions of the scanning ranges to create.
Accordingly, in the first exemplary embodiment, the CPU 21 receives the setting of a scanning definition, and causes a result obtained by using the scanning definition to scan a document of similar type to the first form, namely a second form in which information has been written or inputted into predetermined fields, to be displayed.
Consequently, according to the first exemplary embodiment, it is possible to check the validity of whether or not the scanning definition, that is, the definition used when scanning the first form in which information has been written or inputted into predetermined fields, is applicable to the second form of similar type to the first form. For example, a user looking at the display example in
Here, in the first exemplary embodiment, it is possible to adjust the set scanning definition. For example, the CPU 21 receives an adjustment to at least one of the position or the dimensions of a scanning range as an adjustment to the scanning definition.
For example, the dimensions of the scanning range are adjusted by a mouse operation performed by the user on the frame information 42B. Specifically, by left-clicking a predetermined position on the frame of the frame information 42B, dragging the mouse while still holding down the left mouse button, and then releasing the left mouse button, the dimensions of the frame of the frame information 42B are enlarged or reduced.
In
With the above configuration, according to the first exemplary embodiment, the information in each of the forms is scanned using the scanning definition, even in the case where the amount of information written or inputted into each of the first form and the second form is different, such as different numbers of characters and symbols written or inputted in advance, for example.
Here, a configuration also exists in which the form that acts as a draft for setting the scanning definition is not a form included in an actual job to run, but instead is a form for creating the scanning definition. However, with such a configuration, inexpediences are expected to occur during actual operation, and setting an appropriate scanning definition prior to operation may be labor-intensive.
In contrast, with the first exemplary embodiment, a form included in an actual job to run for the first form and the second form is used to set and adjust the scanning definition, and consequently a scanning definition that anticipates the actual job to run may be constructed prior to operation. Also, in the first exemplary embodiment, by appropriately correcting the scanning definition created prior to operation according to the results of processes during operation (for example, the processes of each of (4) confirming or correcting the form identification, (5) confirming or correcting the scan result, and (6) checking the workflow (see
Here, as described above, in the first exemplary embodiment, the CPU 21 causes frame information indicating a scanning range to be superimposed onto the image data of each of the first form and the second form displayed in the document display area 42. Consequently, according to the first exemplary embodiment, it is possible to confirm the range in which to scan the information in each of the first form and the second form.
Also, in the first exemplary embodiment, in the case of adjusting at least one of the position or the dimensions of a scanning range, the CPU 21 causes the frame information indicating an adjusted scanning range to be displayed with a different appearance than the frame information indicating an unadjusted scanning range. For example, in
Furthermore, in the first exemplary embodiment, in the case of using a result of scanning the second form to adjust the scanning definition, the CPU 21 causes a result of scanning the first form using the adjusted scanning definition to be displayed.
As an example, the CPU 21 causes the display example illustrated in
In the display example illustrated in
With the above configuration, according to the first exemplary embodiment, it is possible to check the validity of whether or not the adjusted scanning definition is applicable to the first form of similar type to the second form. For example, a user looking at the display example in
Here, in the first exemplary embodiment, the CPU 21 is capable of receiving a first adjustment including an adjustment to at least one of the position or the dimensions of a scanning range and a second adjustment different from the first adjustment as the adjustment to the scanning definition.
The first adjustment is an adjustment to the scanning definition with respect to the image data of the document displayed in the document display area 42 such that a rescan of the information written or inputted into the document in advance may be necessary. As an example, the first adjustment may include an adjustment to at least one of the position or the dimensions of a scanning range, and furthermore may include an addition or change of the dictionary.
The second adjustment is an adjustment to the scanning definition with respect to the image data of the document displayed in the document display area 42 such that a rescan of the information written or inputted into the document in advance is not necessary. As an example, the second adjustment may include a change to a property such as the line style or color of the frame information indicating a scanning range, without changing the position and dimensions of the scanning range, and may also include data correction.
Additionally, in the first exemplary embodiment, if the received adjustment to the scanning definition is the second adjustment, the CPU 21 does not rescan the information in the first form, whereas if the received adjustment to the scanning definition is the first adjustment, the CPU 21 rescans the information in the first form.
As an example, the line style of the frame information 42A is changed according to a mouse operation by the user. Specifically, after left-clicking to select a predetermined icon not illustrated on the screen of the client terminal 40, the line style of the frame information 42A is changed by left-clicking the frame of the frame information 42A.
As an example, the CPU 21 causes the display example illustrated in
Here, the results of scanning the image data of each of the first form and the second form are stored in the storage unit 24 for example, and in the case where a rescan is not performed as above, the CPU 21 acquires a corresponding scan result from the storage unit 24, and causes the acquired scan result to be displayed in the scan display areas 43A. In other words, the scan display areas 43A in the display example illustrated in
With the above configuration, according to the first exemplary embodiment, a reduction in the speed of the OCR process performed as the scanning process is avoided compared to a configuration that rescans the information in the first form regardless of the content of the received adjustment to the scanning definition.
Next, a second exemplary embodiment will be described while omitting or simplifying portions that overlap with other exemplary embodiments.
The second exemplary embodiment describes a case where the dimensions of a scanning range are reduced as an adjustment to the scanning definition.
In
As above, in
As an example, the CPU 21 causes the display example illustrated in
In
As an example, the CPU 21 causes the display example illustrated in
Next, a third exemplary embodiment will be described while omitting or simplifying portions that overlap with other exemplary embodiments.
The third exemplary embodiment describes a case where the position of a scanning range is adjusted as an adjustment to the scanning definition.
In
Also, in the first form displayed in the document display area 42 in
As above, in
As an example, the CPU 21 causes the display example illustrated in
As a result of the above, in
For example, the position of the scanning range is adjusted by a mouse operation performed by the user on the frame information 42B. Specifically, by left-clicking a predetermined position on the frame of the frame information 42B, dragging the mouse while still holding down the left mouse button, and then releasing the left mouse button, the position of the frame of the frame information 42B is moved.
In
As an example, the CPU 21 causes the display example illustrated in
Next, a fourth exemplary embodiment will be described while omitting or simplifying portions that overlap with other exemplary embodiments.
In the fourth exemplary embodiment, in the case where a search is performed to find a second form from which to scan information using the scanning definition, but the targeted second form is not found, the CPU 21 causes a message indicating that the second form was not found to be displayed.
The message display area 47 presents a message to the user. For example, in
The Continue button 48 is a button for continuing to search for the second form. For example, in the case where the Continue button 48 is operated while the display example illustrated in
With the above configuration, according to the fourth exemplary embodiment, the user is made to recognize that the second form has not been found.
Note that in the fourth exemplary embodiment, the CPU 21 may also receive a setting regarding the enabling or disabling of a determination function that determines whether or not a form is the same as the form set as the draft. For example, in the case where the form set as the draft is a “purchase order”, but an “invoice” is mixed in as one of the forms included in the job, enabling the determination function keeps the “invoice” from being divided into records.
Additionally, in the case where the determination function is enabled and attached documents attached to a form are included among the documents included in the job, the CPU 21 may cause the display example illustrated in
(Other)
In the foregoing exemplary embodiments, the leading form among multiple pages of forms included in a single job is treated as the “first form”, but in the case where a trailing form, that is, a subsequent form after the leading form, is selected as the draft for setting the scanning definition, the trailing form is treated as the “first form”. Also, in the foregoing exemplary embodiments, the trailing form(s) subsequent to the leading form among the multiple pages of forms included in a single job is treated as the “second form”, but in the case where a trailing form is treated as the “first firm”, the forms other than the first form, including the leading form, are treated as the “second form”.
In the foregoing exemplary embodiments, the frame information indicating a scanning range is created by a mouse operation performed by the user, but the configuration is not limited thereto, and the frame information may also be created by the information processing device 20 automatically. As an example, in the case where a layout definition specifying which portions of the form layout of a form are to be scanned from a specific form (for example, a purchase order) is defined, the layout definition may be used to create the frame information automatically.
In the foregoing exemplary embodiments, the dimensions of a scanning range are adjusted by a mouse operation performed by the user on the frame information indicating the scanning range, but the configuration is not limited thereto, and the dimensions of the scanning range may also be adjusted by the information processing device 20 automatically. As an example, the information processing device 20 may recognize the dimensions of characters, symbols, or the like sticking out from the frame of the frame information, and enlarge the dimensions of the frame of the scanning range such that the portion sticking out is contained inside the frame. Note that in the case where the dimensions of a scanning range are adjusted automatically, the information processing device 20 may adjust the dimensions with consideration for the dimensions of characters, symbols, and the like only on pages where the characters, symbols, and the like are not read correctly, or with consideration for the dimensions of characters, symbols, and the like on the pages of other forms included in the job.
The foregoing exemplary embodiments describe a case where the first form and the second form have a similar form layout as an example, but the foregoing exemplary embodiments are also applicable to cases where the first form and the second form have different form layouts. In other words, the forms treated as the first form and the second form in which information is written or inputted into predetermined fields (for example, Company Name, Contact Name, Order No., and Order Date) may also be in a non-standard format.
In the foregoing exemplary embodiments, the CPU 21 causes the frame information indicating an adjusted scanning range and the frame information indicating an unadjusted scanning range to be displayed with different line styles as a way of displaying each type of frame information with a different appearance, but the “different appearance” is not limited thereto. Examples of the “different appearance” described above may also include differentiating the shape or each line and differentiating the color of each line.
The foregoing exemplary embodiments describe an example in which either one of the position or the dimensions of a scanning range are adjusted as the adjustment to the scanning definition, but the configuration is not limited thereto, and both the position and the dimensions of a scanning range may be adjusted.
In the foregoing exemplary embodiments, job rules are created by the process of “(1) workflow design and operation verification”, but a job rule set combining multiple job rules may be created additionally in the process of “(1) workflow design and operation verification”.
Note that each of the foregoing exemplary embodiments and the content described in the (Other) section may be combined appropriately.
In the embodiments above, the term “processor” refers to hardware in a broad sense. Examples of the processor include general processors (e.g., CPU: Central Processing Unit) and dedicated processors (e.g., GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array, and programmable logic device).
In the embodiments above, the term “processor” is broad enough to encompass one processor or plural processors in collaboration which are located physically apart from each other but may work cooperatively. The order of operations of the processor is not limited to one described in the embodiments above, and may be changed.
The foregoing description of the exemplary embodiments of the present disclosure has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the disclosure and its practical applications, thereby enabling others skilled in the art to understand the disclosure for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the disclosure be defined by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2020-212718 | Dec 2020 | JP | national |