The present application claims the priority from Japanese application P2005-3642A filed on Jan. 11, 2004, the contents of which are hereby incorporated by reference into this application.
1. Field of the Invention
The present invention relates to an overlay data processing method that prints overlay data on a predetermined form with a scanner or a printer, as well as to a corresponding overlay data processing device.
2. Description of the Related Art
There is a difficulty in adjustment of the printing position of an entered character string on a postcard, a label, a slip, or any other form with a layout frame printed in advance. Part of the character string may thus be printed outside the layout frame. There are similar difficulties in adjustment of the printing position of an additional character string in a vacant space on printing paper with some picture printed in advance and in adjustment of the printing positions of strikethroughs over a printed form. Another difficulty is adjustment of the size balance and the color balance between characters printed in advance and additional characters printed afterwards.
One proposed technique disclosed in Japanese Patent Laid-Open Gazette No. 9-6863 controls a scanner to read a layout structure of a desired form and generate electronic data of the layout structure and subsequently controls a printer to simultaneously print the layout frame and an entered character string on printing paper.
This prior art technique simultaneously prints the layout frame and the character string and thus ensures printing of the character string within the layout frame. This technique, however, does not take into account the case of printing a character string on printing paper with a layout frame, some characters, or some picture printed in advance.
The object of the invention is thus to eliminate the drawbacks of the prior art techniques and to enable layout of desired overlay data as an object of printing on a selected form with high accuracy.
In order to attain at least part of the above and the other related objects, one aspect of the present invention is directed to an overlay data processing method that is executed by a computer connected with at least a scanner to process overlay data. The overlay data processing method includes the steps of: controlling the scanner to scan a selected form and generate a scanned form image; displaying the scanned form image on a display screen; receiving entry of overlay data, which is to be printed on the selected form; laying out the entered overlay data on the displayed form image; and determining a relative printing position of the laid-out overlay data on the selected form by taking into account a deviation of a scanning position by the scanner.
There is an overlay data processing device corresponding to the overlay data processing method. The aspect of the invention is thus directed to an overlay data processing device that prints overlay data on a selected form. The overlay data processing device includes: a scanner that scans an image; a form image generation unit that controls the scanner to scan the selected form and generate a scanned form image; a display unit that displays the scanned form image on a display screen; an overlay data entry unit that receives entry of overlay data, which is to be printed on the selected form; a layout unit that lays out the overlay data entered by the overlay data entry unit on the displayed form image; and a printing position determination unit that determines a relative printing position of the laid-out overlay data on the selected form by taking into account a deviation of a scanning position by the scanner.
The overlay data processing method or the corresponding overlay data processing device enables the user to lay out desired overlay data, for example, a character string, while visually checking an image of a selected form scanned by the scanner and displayed on the display screen. The technique of the device and the method facilitates adjustment of the printing position, the size, and the color of the overlay data and enables the adjusted overlay data to be printed on the selected form with high accuracy. In the printing process, the overlay data processing method or the corresponding overlay data processing device does not output the scanned form image or an image representing a preset layout frame but outputs only the adjusted overlay data, for example, the adjusted character string, as print data to the printer. This arrangement desirably enhances the printing speed. The computer is connected with at least the scanner and may further be connected with a printer. The scanner and the printer may be connected as individual, separate devices to the overlay data processing device or may be incorporated in an identical casing. One typical example of the latter structure is a complex machine having both the functions of the scanner and the printer.
In the overlay data processing method and the corresponding overlay data processing device, the terminology ‘form’ is not restricted to printing papers with layout frames printed in advance, such as slips, but includes printing papers with some characters, pictures, or figures printed in advance. The ‘form’ of the invention includes, for example, postcards and envelopes with printed frames for zip codes or postcodes, writing papers and labels with ruled lines, name cards with some printed information like the company name and the personal name, postcards and new year cards with printed pictures and characters. The ‘overlay data to be printed on the selected form’ includes, for example, letters, characters, bitmap data, barcodes, 2D codes, and figures.
In one preferable embodiment of the invention, the overlay data processing method further includes the steps of controlling a printer connected to the computer to print a calibration pattern at a predetermined printing position on preset printing paper set in the printer; controlling the scanner to scan the printing paper with the printed calibration pattern; computing a deviation between a printable area of the printer and a scannable area of the scanner, based on the printing position of the calibration pattern and a scanned position of the calibration pattern by the scanner; calculating a correction amount of the relative printing position of the overlay data from the computed deviation to determine a corrected printing position of the overlay data on the selected form; and controlling the printer to print the overlay data at the corrected printing position on the selected form set in the printer.
The arrangement of this embodiment is also applicable to the overlay data processing device.
The arrangement of the embodiment enables compensation for the deviation between the printable area of the printer and the scannable area of the scanner, thus further enhancing the accuracy of printing on the selected form.
In the overlay data processing method of this embodiment, it is preferable that the calibration pattern printing step prints a predetermined index for clearly indicating a top and a bottom of the printing paper, simultaneously with printing the calibration pattern.
This arrangement effectively prevents the user from setting the printing paper with the printed calibration pattern in a wrong orientation in the scanner.
The calibration pattern may include multiple marks of a predetermined shape.
The overlay data processing method in this application specifies a deviation of each mark and computes the average of the specified deviations of the multiple marks. This enables determination of the deviation with higher accuracy. A rotational deviation may additionally be detected by specifying the slope of a straight line interconnecting two of the multiple marks.
In one preferable example, the multiple marks have a circular shape. The circular shape enables easy determination of the center point of each mark, even when there is a rotational deviation between the printable area and the scannable area.
In the overlay data processing method of this embodiment, it is preferable that the overlay data printing step controls the printer to print the overlay data at the corrected printing position in a maximum printable paper size, regardless of a size of the selected form actually set in the printer. This application ensures printing of the overlay data to the respective edges (especially to the lower edge and the right edge) of the selected form. Such fixation of the printing size to the maximum printable paper size does not require the user to individually set the size of each form in the printer driver and thus enhances the user's convenience in printing of overlay data on the selected form.
The technique of the invention is not restricted to the overlay data processing method or the corresponding overlay data processing device, but may be actualized by a computer program that causes a computer to print overlay data. The computer program may be recorded in a computer readable recording medium. Typical examples of the recording medium include flexible disks, CD-ROMs, magneto-optical disks, and memory cards.
In order to clarify the functions and the effects of the invention, one mode of carrying out the invention is described below as a preferred embodiment in the following sequence with reference to the accompanied drawings:
A. General Configuration of Overlay Data Processing Device
B. Calibration Process
C. Overlay Data Printing Process
A. General Configuration of Overlay Data Processing Device
The USB interface 50 is connected with a keyboard 80, a mouse 90, a scanner 200 that optically scans a predetermined form to obtain a form image, and a printer 300 that prints overlay data on the predetermined form. The scanner 200 may be any of various scanners, for example, a flathead scanner or a sheet feeder scanner. The printer 300 may be any of various printers, for example, an inkjet printer, a laser printer, a thermal transfer printer, or a dot impact printer. In the structure of this embodiment, the scanner 200 and the printer 300 are individually connected to the overlay data processing device 100. A complex machine having both the functions of a scanner and the functions of a printer may alternatively be connected to the overlay data processing device 100. The scanner 200 and the printer 300 are linked to the overlay data processing device 100 by USB connection. The USB connection may be replaced by any of RS-232C connection, parallel port connection, IEEE1394 connection, and network connection. The keyboard 80 and the mouse 90 are also linked to the overlay data processing device 100 by USB connection. The keyboard 80 and the mouse 90 may be connected to the overlay data processing device 100 via a keyboard interface and a PS/2 interface.
The hard disk 40 stores various software programs, that is, an operating system 41 as a basic software program for general control of the overlay data processing device 100, a scanner driver 42 for control of the scanner 200, and a printer driver 43 for control of the printer 300. An overlay data processing program 44 is also installed in the hard disk 40 and is executed to edit overlay data to be printed and print the edited overlay data on a predetermined form with the scanner 200 or the printer 300. The CPU 10 executes these software programs with the memory 20 used as a work area. The overlay data processing program 44 may be stored in a computer readable recording medium, such as a flexible disk or a CD-ROM and may be installed from the recording medium into the hard disk 40 by a specific installer. The overlay data processing program 44 may otherwise be read directly from the recording medium to be executed.
In response to the user's click of the Overlay Data Entry button B4 on the application window with a pointing device, for example, the mouse 90, the operation window is set in an overlay data entry mode. The user operates the mouse 90 to shift the cursor over the form display area LA and manipulates the keyboard 80 to enter desired overlay data at any arbitrary position in the form display area LA. In the illustrated example, character strings ‘TITLE’ and ‘2004/9/20’ are laid out as overlay data on a label image with ruled lines as the predetermined form. The overlay data processing program 44 outputs the laid-out overlay data to the printer 300 to print the overlay data on the predetermined form, that is, an actual label. The overlay data processing program 44 enables the user to lay out desired overlay data on an image of the predetermined form displayed on the monitor 70. This arrangement ensures printing of desired overlay data on the predetermined form with high accuracy.
B. Calibration Process
The scanners generally have unscannable ranges of several millimeters from the circumferential edges of each scan plane, because of the structural limitation of the optical scanning mechanism. The printers, except some inkjet printers, generally have unprintable ranges of several millimeters or a few centimeters from the circumferential edges of each printing paper, because of the structural limitation of the printing mechanism. Namely each model or each individual unit of the scanner or the printer has a fixed scannable area or fixed printable area. The overlay data processing device 100 of this embodiment executes the calibration process described below to adjust a variation of the scannable area or the printable area and print the overlay data on a predetermined form with high accuracy.
In the call of the calibration process, the CPU 10 of the overlay data processing device 100 first controls the printer 300 to print a calibration pattern on preset printing paper set in the printer 300 (step S100).
PA as the origin:
p1=(x1,y1)
p2=(x2,y2)
p3=(x3,y3),
p4=(x4,y4)
The CPU 10 prints characters T (top) and B (bottom) on the top and the bottom of the preset printing paper, simultaneously with printing the calibration pattern. These printed characters T and B are used as indexes to indicate the user the orientation of the printing paper with the calibration pattern printed thereon (hereafter referred to as the calibration paper) to be set in the scanner 200 (at step S120 as described later). Although both the characters T and B are printed on the printing paper in this embodiment, only one of these characters T and B may be printed. These characters may be replaced by any suitable symbols, such as direction-pointing arrows.
One preferable procedure of step S100 opens a dialog box giving a message like ‘Set A4 paper in the printer. A calibration pattern will be printed’, prior to the actual printing of the calibration pattern. In response to the user's click of an OK button in the dialog box, the CPU 10 controls the printer 300 to start printing the calibration pattern on the preset printing paper. This application enables the user to set the printing paper of a right size in the printer 300 for adequate printing.
On completion of printing the calibration pattern, the CPU 10 controls the scanner 200 to scan the calibration paper (step S110). One preferable procedure of step S110 opens a dialog box giving a message like ‘Set the paper with the print of the calibration pattern in a correct orientation in the scanner’, prior to the actual scanning of the calibration paper. In response to the user's click of an OK button in the dialog box, the CPU 10 controls the scanner 200 to start scanning the calibration paper. This application prevents the scanner 200 from starting scanning without the calibration paper set in the scanner 200 or from scanning the calibration paper set in a wrong orientation.
The CPU 10 then determines the coordinates (center points) of the four marks constituting the calibration pattern on an image of the calibration paper scanned by the scanner 200 (step S120).
The procedure of this embodiment sets detection areas d1 to d4 as target areas for detection of the marks as shown in
The coordinates (center points) of the four scanned marks are determined relative to the coordinates at the upper left corner of the scannable area
SA as the origin:
P1=(X1, Y1)
P2=(X2, Y2)
P3=(X3, Y3),
P4=(X4, Y4)
Referring back to the flowchart of
The differences between the scanned positions and the printing positions of the respective marks are given as:
Δp1=(X1−x1, Y1−y1)
Δp2=(X2−x2, Y2−y2)
Δp3=(X3−x3, Y3−y3)
Δp4=(X4−x4, Y4−y4)
The computed averages of these differences are:
Δx (deviation length in ‘x’ direction)=((X1−x1)+(X2−x2)+(X3−x3)+(X4−x4))/4
Δy (deviation length in ‘y’ direction)=((Y1−y1)+(Y2−y2)+(Y3−y3)+(Y4−y4))/4
In the case where the printing resolution of the four marks is different from the scanning resolution of the four marks, the coordinates determined at step S120 are converted corresponding to the printing resolution. For example, when the printing resolution is 1200 dpi and the scanning resolution is 300 dpi, the coordinates determined at step S120 are quadrupled. Such conversion specifies the deviation lengths in the printing resolution.
The CPU 10 stores the computed deviation lengths into the memory 20 or the hard disk 40 (step S140). The stored deviation lengths are read out and used for correction of the printing position in a subsequent overlay data printing process as described below.
The procedure of this embodiment computes the averages of the differences between the printing positions and the scanned positions of the four marks. One possible modification may additionally compute a rotational deviation between the printable area PA and the scannable area SA from the coordinates of the four printed marks and the coordinates of the four scanned marks. This further enhances the accuracy for printing on the predetermined form. One concrete procedure of such modification calculates the slope of a straight line connecting the coordinates of the mark P2 with the coordinates of the mark P1 and the slope of a straight line connecting the coordinates of the mark P4 with the coordinates of the mark P3. The modified procedure then computes the average of these two calculated slopes as a rotational deviation and stores the computed rotational deviation into the memory 20 or the hard disk 40.
C. Overlay Data Printing Process
The overlay data processing device 100 of the embodiment also executes an overlay data printing process to print overlay data, such as character data, on a predetermined form.
In the call of the overlay data printing process, the CPU 10 waits until the user's click of the Open button B3 or the New Scan button B2 on the application window shown in
The scanner 200 scans the selected form at a relatively low resolution, for example, 72 dpi that is a standard resolution of the monitor 70. In the overlay data printing process, the scanned form image is used only for the purpose of display on the monitor 70 and is not used for printing that requires the high resolution. Scanning at the low resolution desirably enhances the processing speed.
The CPU 10 then displays the form image obtained by scanning the selected form with the scanner 200 at step S220 or the form image read out of the hard disk 40 at step S210 in the form display area LA of the application window shown in
The CPU 10 then detects the user's click of the Print button B5 (step S250). In the event of no click of the Print button B5, the processing flow returns to step S240 for further layout of overlay data on the form image. In the event of a click of the Print button B5, on the other hand, the CPU 10 reads out the deviation lengths stored in the memory 20 or the hard disk 40 by the calibration process described previously (step S260).
The CPU 10 subtracts the deviation lengths, which are read from the memory 20 or the hard disk 40, from the position of each overlay data laid out at step S240 to correct the printing position of the overlay data and outputs the overlay data of the corrected position as print data to the printer 300 (step S270). This series of processing compensates for the deviation between the origin of the scannable area SA and the origin of the printable area PA and prints each overlay data at an expected position on the selected form. When the rotational deviation is additionally stored in the memory 20 or the hard disk 40, the correction of the printing position also takes into account the rotational deviation. The layout position may be shifted, instead of the correction of the printing position. Namely this correction step corrects the printing position of each overlay data relative to the selected form.
One preferable procedure of step S270 opens a dialog box giving a message like ‘Set the selected form identical with the form image displayed on the monitor’, prior to the actual printing of the overlay data on the selected form. In response to the user's click of an OK button in the dialog box, the CPU 10 controls the printer 300 to start printing the overlay data on the selected form. This application enables the desired overlay data to be adequately printed on the selected form.
The printer 300 may print the overlay data in a maximum printable paper size, regardless of the size of the selected form actually set in the printer 300. This application ensures printing of the overlay data to the respective edges (especially to the lower edge and the right edge) of the selected form. Such fixation of the printing size to the maximum printable paper size does not require the user to individually set the size of each form in the printer driver and thus enhances the user's convenience in printing of overlay data on the selected form.
The CPU 10 then detects the user's click of the Save button B6 (step S280). In the event of a click of the Save button B6, the CPU 10 stores the form image displayed on the monitor 70 into the storage medium, such as the hard disk 40 (step S290). The entered overlay data, for example, character strings and figures, and their layout positions may additionally be stored with the form image. In the event of no click of the Save button B6, on the other hand, the CPU 10 terminates the overlay data printing process without the storage. The processing of steps S280 and S290 is not restricted to the timing after completion of printing the overlay data but may be executable at any arbitrary timing after the scan of the form image at step S220.
The overlay data processing device 100 of the embodiment allows the user to lay out desired overlay data, for example, character strings, on the form image displayed on the monitor 70. This ensures printing of desired overlay data on any selected form with high accuracy. The printing position of each overlay data is determined by taking into account the computed deviation lengths between the scannable area SA of the scanner 200 and the printable area PA of the printer 300. This further enhances the accuracy of printing on the selected form. The technique of the embodiment ensures printing of character strings or any other overlay data within a preset layout frame printed on any selected form, for example, postcard, writing paper, or label. The technique of the embodiment also facilitates adjustment of the size balance and the color balance of any additional character strings with printed character strings in the case of additional printing or overlay printing on a printed sheet and enables the totally-balanced printing at adequate positions.
The embodiment discussed above is to be considered in all aspects as illustrative and not restrictive. There may be many modifications, changes, and alterations without departing from the scope or spirit of the main characteristics of the present invention. Some examples of possible modification are given below.
In the overlay data printing process, the CPU 10 may adopt a known image processing technique, for example, area extraction or edge detection, to specify the size of a selected form scanned by the scanner 200 and allows layout of overlay data, for example, a character string, only in the specified size. This application effectively prevents the character string from being printed out of the area of the selected form.
In the calibration process, when the size of the printing paper set in the printer 300 for printing the calibration pattern is different from the size of the calibration paper scanned by the scanner 200, the CPU 10 may give a predetermined error message indicating the wrong paper. This application ensures accurate computation of the deviation lengths. The size of the calibration paper scanned by the scanner 200 is specified by the known image processing technique, for example, area extraction or edge detection.
The overlay data processing device 100 may additionally have a function of converting entered overlay data, for example, a character string, laid out on the form image into a barcode or a QR code and printing the converted barcode or QR code on a selected form. This application enables coded address and name to be readily printed on name cards.
In the structure of the embodiment shown in
In the structure of the embodiment shown in
All changes within the meaning and range of equivalency of the claims are intended to be embraced therein. The scope and spirit of the present invention are indicated by the appended claims, rather than by the foregoing description.
Number | Date | Country | Kind |
---|---|---|---|
2005-003642 | Jan 2005 | JP | national |