# Patent

## Title
Document production system having automatic adjustment of content to fit the printable area of a pre-printed media

## Abstract

A document production system having the capability of determining the printable area of a pre-printed media using a copy of the pre-printed media as a template which is scanned and analyzed. The content of the document to be printed is adjusted to fit the printable areas by either scaling or cropping.

## Background
FIELD
This document relates generally to the field of multi-function devices (MFDs), and, in particular, to printers, scanners and devices having both printing and scanning capabilities and to the printing of documents using templates with pre-defined printable areas using those devices.
BACKGROUND
It is common practice and well known in the art to print documents, such as letters, certificates and forms using pre-printed media or media printed locally which contain markings not typically considered part of the content of the document being printed. For example, a company may have letterhead paper pre-printed with the company's logo, trademark, or other graphic along with other information, such as the company's address. Such markings often appear in the margins of the page (top, bottom, left or right margins) and are often pre-printed or printed locally when a document requires such information.
A problem arises when using media having pre-printed or locally printed markings. Soft copies of documents to be printed on pre-printed media are often created using word-processing software, which does not display the pre-printed areas of the physical media. As such, a user may be unaware of where on a given page content may be placed. This often leads to a trial-and-error process of producing a document having the correct spacing, causing the user to print out multiple copies of the document before a correctly formatted document is achieved, resulting in a waste of resources and time. Furthermore, the user must manually adjust header, footer and margins of the softcopy of the document to fit into the printable area. This is often an advanced function that may be beyond the capability of casual users of the word processing software.
Therefore, it would be desirable to make the process of fitting documents onto pre-printed media easier and more foolproof.
SUMMARY
This document describes a system and process for addressing at least some of the difficulties described above. Users are able present a template document, either by scanning it in a scanner or the scanning portion of a multi-function device (MFD), or by providing a filename of a soft copy template document. The template document is simply a copy of a page of the pre-printed media that has not yet been printed. Once the template is scanned, the printable area of the pre-printed media is algorithmically determined. The content that the user wishes to add is then scaled in size to fit the printable area, or, if the reduction in size renders the content illegible, is cropped such as to fit on multiple pages.
The system may be implemented as software either running on a processor connected to a scanner and printer or an MFD, typically as part of the device driver software, or as firmware in an MFD.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a typical template of a pre-printed media having markings in pre-defined areas.
FIG. 2 is a softcopy of a document having content which is to be placed into the printable area of a document when the template of FIG. 3 is used.
FIG. 3 shows the scanning of the template and the determination of the printable area of a document using that template.
FIG. 4 shows the rescaling of the user's document to fit the printable area of a document using the template of FIG. 3.
FIG. 5 shows the cropping of the user's document to fit the printable area of a document using the template of FIG. 3.
FIG. 6 is a schematic depiction of a first embodiment using separate printer and scanner devices.
FIG. 7 is a schematic depiction of a second embodiment using an MFD having printing and scanning capabilities.
FIG. 8 is a flow chart showing the process of automatically adjusting content to fit on printed media.



DETAILED DESCRIPTION
An “operation” or “print-related function” is a function that is performed on a print job. Exemplary operations may include raster image processing, formatting, stapling, collating, sorting, punching, binding and/or the like.
A “pre-printed media” as used herein refers to a hardcopy page having print markings thereon. An example of a pre-printed media would be a paper having a letterhead pre-printed thereon. Pre-printed media may have pre-printed markings in the header, footer, left or right margins of the page.
A “computing device” refers to a device that includes a processor and non-transitory, computer-readable memory. The memory may contain programming instructions that, when executed by the processor, cause the computing device to perform one or more operations according to the programming instructions. As used in this description, a “computing device” may be a single device, or any number of devices having one or more processors that communicate with each other and share data and/or instructions. Unless the context specifically dictates otherwise, the term “processor” will include embodiments having a single processor, as well as embodiments in which multiple processors collectively perform various steps of a process. Examples of computing devices and/or electronic devices include personal computers, servers, mainframes, gaming systems, televisions, and portable electronic devices such as smartphones, personal digital assistants, cameras, tablet computers, laptop computers, media players, peripherals, such as printers, scanners and multi-function devices and the like.
In this document, the term “multi-function device” or “MFD”, refers to a computing device comprising hardware and associated software configured for printing, as well as at least one other function such as copying, facsimile transmitting or receiving, scanning, or performing other actions on document-based data. In particular, the MFDs used in this application will be configured at least for printing and scanning.
A “printer” refers to any apparatus, such as a digital copier, bookmaking machine, facsimile machine, multi-function machine and the like, which performs a print outputting function for any purpose. As used herein, the term “printer” means a stand-alone printer or the printing portion of a multi-function device.
A “scanner” refers to any apparatus which performs the function of reading a hard copy of a document and outputting a copy of the document in digital form, regardless of the format of such output. A scanner can be a flatbed scanner, a scanner which scans papers as they are fed through the machine and/or multi-function device. As used herein, the term “scanner” means a stand-alone scanner or the scanning portion of a multi-function device.
A “soft copy” of a document refers to a document stored on a storage medium in digital form, regardless of format.
The “printable area” of a page, as used herein, refers to the area of a pre-printed media in which content can be printed without interfering with pre-printed markings on the media.
The figures and associated discussion below describe an embodiment which implements a process for automatically determining the printable area of a document, typically pre-printed media such as a letterhead or certificate, and which thereafter automatically formats the user's content to fit within the printable area of the pre-printed media. The printable area of the pre-printed media is determined utilizing a template either in hardcopy form, which is scanned and analyzed, or in softcopy form, which is read from a file stored on a computer-accessible storage medium and analyzed.
The process may be implemented by software running on a typical computing device, such as a personal computer having a processor, memory, display and storage capability. Optionally, the software implementing the process may be executed as part of a device driver for a scanner and/or printer, or for a multi-function device. Alternatively, the process may be implemented by firmware running on a printer and/or a scanner, or on a multifunction device. In yet another embodiment, the process may be offered as an online service.
The process and system may be used, for example, in cases where the user wishes to print out content on a page having pre-printed markings thereon, such as company letterhead, which may appear in the top header or bottom footer of the pre-printed media. The process and system also may be useful in cases where pre-printed markings appear in the left or right hand margins of the preprinted media. Typically, when a user is creating or editing a document using word processing application, the pre-printed areas of the hard media on which the document is to be printed will not be visible to the user, making it The process may help solve the problem of the user not being able to view the areas of the page with pre-printed markings while utilizing a word processing application to create or edit a soft copy of the document. Typically, such a word processing application would have no knowledge of the pre-printed markings on the hard copy page on which the content is to be printed. This makes it difficult for an untrained or unsophisticated user to determine where the printable, usable area of the document lies. In such cases, the user would typically need to manually adjust the soft copy of the document to accommodate the markings on the pre-printed media, which can be a problem for untrained or unsophisticated users. Typically, the user will need to print out the document several times in a trial-and-error fashion before the content can successfully and correctly be positioned for printing in the usable area of the pre-printed media. In another scenario, the source document holding the content that the user wishes to print may be uneditable, as in cases where the document is locked or in read-only form, thereby preventing the user from make the appropriate adjustments to fit the content into the printable area of the pre-printed media.
In an embodiment, the process and system described below can help solve the problem by having the user scan a template of the pre-printed media having the markings thereon. In this case the template can be a hard copy of the pre-printed media. An example of such a template is shown in FIG. 1 showing pre-printed media 100 having a header 102, a footer 104 and a side margin 105. These areas of the template are considered unprintable as any printing of content in this area may interfere with the pre-printed markings on the media. The printable area of the media is thus shown with reference number 106 in FIG. 1. The user's content, which is desired to be printed within printable area 106 is shown in FIG. 2 as reference number 120.
In one embodiment, wherein the steps of the process are implemented as software which is part of the printer driver, the user will request to have a soft copy 120 of a document printed, selecting the paper source as the tray in the printer holding the pre-printed media. An option is provided in the print to fit the content into the printable area of the pre-printed media which, if selected, will the cause the computer to hold the print job and request the user to scan a copy of the pre-printed media 100. The pre-printed media can be scanned, using either a scanner connected to or accessible from the user's personal computer, or a scanner as part of a MFD which includes the intended printer. This process is shown schematically in FIG. 3, and the resulting internal copy of the scanned preprinted media will include a header of known size 102′, a footer of known size 104′, and a left margin of known size 105′, leaving the printable area of known size 106′. The printable area 106′ of the pre-printed media can therefore be calculated as

Printable Area(PA)=Page Size(PS)−Header Size(H)−Footer Size(F)

When the pre-printed media is scanned, the intensity of the light emitted and detected by the scanning head varies as it passes through the header and footer portions of the paper, as opposed to when it is passing through white space. For scanners using a motor to drive the light source rotating about an axis as it is scans, when the variation of light is detected, the angle of rotation of the motor is noted. The angular rotation of the motor can be translated into a linear distance, and this distance is the size of the header from the top of the document. In general, the formula for the header size can be given by the formula (x/360)×length of the paper. It should be noted that the variation in intensity of the detected light will also be noted for the footer of the page and as such the angle of rotation of the motor should be noted as this variation begins and again be noted at the completion of the scanning of the page. Thus, the size of the footer can be calculated utilizing the same formula as above wherein x equals the total rotational angle of the motor from the beginning of the footer until the end of the page. This procedure requires that the printer driver know the size of the page being printed on which may already be known or may be specified by the user.
For scanners not having the feature of a motor rotating the paper about an axis (i.e., a flatbed scanner), the preprinted media may be scanned to a soft copy and the procedure for a soft copy of the preprinted media outlined below must be used. It should also be noted that if the user desires to detect the size of the left and right margins of the paper having pre-printed markings therein, it would be necessary to scan the page twice, once in portrait mode and once in landscape mode. If it is not possible to scan in landscape mode, a flatbed scanner may be used to scan the pre-printed media into a soft copy and analyze it as discussed below.
In a first embodiment, the scanning can be performed by an outboard scanner or by a MFD having a scanning capability as shown as reference number 220 in FIG. 3.
In a second embodiment, a soft copy of the pre-printed media may already be resident on the computer implementing the process and, as such, the user, instead of scanning the pre-printed media utilizing a scanner, may specify the location of a file containing the soft copy of the pre-printed media. When a soft copy of the pre-printed media is used to determine the printable area of the pre-printed media, an image segmentation algorithm and/or a projection profile based algorithm is used to discover the areas of the pre-printed media having pre-printed markings. These algorithms are well known in the art.
The system utilizes one of two possible ways of fitting the user's content 120 into the printable area of 106 of pre-printed media 100. The first way is shown in FIG. 4, wherein the user's content 120 is rescaled to fit printable area 106. The scaled user content is shown in FIG. 4 as reference 120′. It is desired that the scaling of the user's content 120 result in a still-legible version of the original. Process 312 is responsible for the scaling After the scaling is completed, the process algorithmically determines whether or not the scaled content 120′ is legible. To determine legibility, the font size of the scaled content 120′ is determined by connected component based segmentation. If the font size in the scaled content 120′ prime is determined to be greater than a minimum readable value, then content 120′ is placed into the printable areas 106 of the document, resulting in document 140, and printed.
FIG. 5 shows the process which is used when the scaling of the user's content would result in a font size which falls below a minimum readable value, and therefore cannot be printed. In such cases, the user's content 120 is cropped and as much of the content as possible is fitted into area 106 of the preprinted media. For page N of the document, we will call this portion CN. and is shown by reference number 122 in FIG. 5. The remainder of the content, referred to as C′N, shown as reference number 124 in FIG. 5, must be pushed to page N+1, thereby leaving less room for the content 120 of page N+1 to be printed. Thus, the size of the content CN for any given page N can be calculated by the formula:

CN=PS−H−F−C′N-1 

where C′N-1 is the leftover content from the previous page. This results in document 142, which is then printed. This process is repeated for each page in the document to be printed.
FIG. 6 shows a first hardware implementation of the system wherein the printer 404 and scanner 402 are separate. Computer 400 is utilized by the user to create the soft copy of the document and initiate printing of the document. The pre-printed media 100 may be scanned by scanner 402 or, as previously discussed, a soft copy of the template may be readily available on computer 400, or accessible by computer 400, for example, stored locally or in cloud storage. In the embodiment wherein the software implementing the process is part of the printer driver running on computer 400, the user may select as an option the functions of the system to allow the automatic fitting of the document into the printable area 106 of the preprinted media. After the software in computer 400 has configured the document either by scaling, resulting in document 140, or by cropping, resulting in document 142, the soft copy of the document is sent to printer 404, where it is printed as hard copy 144.
FIG. 7 shows the alternate hardware embodiment of the system wherein the printer and scanner functions are combined into an MFD 406. The embodiment in FIG. 7 operates substantially the same as the embodiment in FIG. 6. In the embodiment in FIG. 7, it may be possible to have the software implementing the process running on either computer 400, preferably as part of one or more device drivers, or as firmware in MFD 406. In other embodiments, the process may be implemented as a cloud service or online application.
FIG. 8 is a flowchart showing the steps of the process. The process is started in box 300 when the user submits a print job. On a computer 400 implementing the capabilities of the system, the user is presented with an option to “Print on Template” in box 302. If the user declines the selection of the auto fit function, control proceeds to 320, where the process is stopped and control is returned to the printer driver, for printing of the document in the normal way. If the user does select the auto fit function, control proceeds to box 304, where the user selects the template size and, in 306, scans the pre-printed media 100 on which the user desires to place the content. In an alternative embodiment, the user may be prompted for a file name of a document containing a soft copy of pre-printed media 100, such as in the case where a soft copy of the pre-printed media exists on computer 400. In box 308, the sizes of the header, footer, margins and printable area of the pre-printed media are calculated. At 310, it is determined if a scaled version of the document would be legible when scaled to fit into the printable area 106 of the pre-printed media 100. If this determination is made, content 120 is scaled in box 312 resulting in resized content 120′. At 314, the user selects the tray with the preprinted media and at 316 the combination of the preprinted media and the user's content is printed, after which the process is stopped at 320 and control is returned to the printer driver.
If, at 310 it is determined that the scaled version of the document would be illegible, the second embodiment is selected at 318, in which the user's content 120 is cropped and thereafter rearranged to fit the cropped content 122, 124 on multiple pages. The process then proceeds to 314 and proceeds as described above.
The features and functions of the system, as well as alternative embodiments disclosed herein may be combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations or improvements may be made by those skilled in the art, each of which is also intended to be encompassed by the disclosed embodiments.

## Claims

1. A document production system comprising:
a scanner equipped with a motor which rotates a medium to be scanned around an axis;
a printer; and
a computing device, including a processor, configured to perform the functions of:
causing the scanner to scan a template comprising a pre-printed media;
determining, based on the scanned template, a printable area of the pre-printed media by:
(a) identifying a first variation in the intensity of light detected by a scan head of the scanner,
(b) identifying the angle that the motor has rotated the pre-printed media when the first variation is detected and calculating a distance therefrom,
(c) providing a first offset of the linear distance from the top of the pre-printed media and marking the first offset as unprintable,
(d) identifying a second variation in the intensity of light detected by a scan head of the scanner,
(e) identifying the angle that the motor has rotated the pre-printed media when the second variation is detected and calculating a linear distance therefrom, and
(f) providing a second offset starting at the linear distance from the top of the pre-printed media and extending to the bottom of the pre-printed media and marking the second offset as unprintable;
manipulating a soft copy of a document such that the document is configured to fit into the printable area of the template; and
causing the printer to print the document in the printable area of the pre-printed media.

2. The system of claim 1 wherein the computing device is further configured to perform the function of prompting a user of the document production system to insert the template into the scanner.

3. The system of claim 2 wherein the template is scanned into a soft-copy form or wherein a soft copy form of the template already exists.

4. The system of claim 3 wherein the soft-copy form of the template is analyzed to determine the unprintable areas of the pre-printed media.

5. The system of claim 4 wherein the template is analyzed using an image segmentation algorithm.

6. The system of claim 4 wherein the template is analyzed using a projection profile based algorithm.

7. The system of claim 1 wherein the document has one or more pages and further wherein the manipulating function comprises:
scaling each page of the document;
determining the legibility of text on the scaled pages; and
printing the document using the scaled pages if it is determined that text of the scaled pages is legible.

8. The system of claim 7 wherein the legibility of text on the scaled pages is determined by the font size of the text that results from the scaling of the pages.

9. The system of claim 8 wherein the font size is determined using connected component based segmentation.

10. The system of claim 1 wherein the document has one or more pages and further wherein the manipulating function comprises:
(a) cropping a page of the document such that a portion of the text from that page is fitted into the printable area of a pre-printed media;
(b) printing the remaining text from the page onto the printable area of the next pre-printed media;
(c) reducing the printable area of the next pre-printed media by the area taken up by the remaining text; and
repeating steps (a)-(c) for each page in the document.

11. The system of claim 1 wherein the scanner and printer are combined into a multi-function device and further wherein the functions performed by the system are implemented as software resident in the multi-function device.

12. The system of claim 1 wherein the scanner and printer are combined into a multi-function device and further wherein the functions performed by the system are implemented as software integral with or working in coordination with a driver for the multi-function device.

13. The system of claim 1 wherein the scanner and printer are separate component and further wherein the functions performed by the system are implemented as software resident integral with or working on coordination with drivers for the printer and the scanner.

14. The system of claim 1 wherein the functions are initiated when a user of the system queues the document for printing and specifies that the document be printed on the pre-printed media.

15. The system of claim 1 wherein the size of left and right margins of the template can be determined by rotating a copy of the pre-printed media 90 degrees and performing steps (a)-(f).

16. A multi-function device comprising:
a scanner equipped with a motor which rotates a medium to be scanned around an axis;
a printer; and
a processor configured to perform the functions of:
causing the scanner to scan a pre-printed media;
determining, based on the scanned pre-printed media, a printable area of the pre-printed media by:
identifying a first variation in the intensity of light detected by a scan head of the scanner,
identifying the angle that the motor has rotated the pre-printed media when the first variation is detected and calculating a linear distance therefrom,
providing a first offset of the linear distance from the top of the pre-printed media and marking the first offset as unprintable,
identifying a second variation in the intensity of light detected by a scan head of the scanner,
identifying the angle that the motor has rotated the pre-printed media when the second variation is detected and calculating a linear distance therefrom, and
providing a second offset starting at the linear distance from the top of the pre-printed media and extending to the bottom of the pre-printed media and marking the second offset as unprintable;

manipulating a soft copy of a document such that the document is configured to fit into the printable area of the pre-printed media; and
causing the printer to print the document on the pre-printed media.

17. The multi-function device of claim 16 wherein the document has one or more pages and wherein the function of manipulating the document comprises:
scaling each page of the document to fit into the printable area of the pre-printed media;
determining the legibility of text on the scaled pages; and
printing the document using the scaled pages if it is determined that the on the scaled pages is legible.

18. The multi-function device of claim 16 wherein the document has one or more pages and wherein the function of manipulating the document comprises:
(i) cropping a page of the document such that a portion of the text from that page is fitted into the printable area of a pre-printed media;
(ii) printing the remaining text from the page onto the printable area of the next pre-printed media;
(iii) reducing the printable area of the next page of pre-printed media by the area taken up by the remaining text; and
repeating steps (i)-(iii) for each page in the document.

19. The multi-function device of claim 16 further comprising readable memory and further wherein the processor is configured using firmware stored in the readable memory.

20. A document production system having a scanner and a printer wherein the scanner is equipped with a motor which rotates a medium to be scanned around an axis, and wherein the document production system, including a processor, is configured to perform the functions of:
causing the scanner to scan a template comprising a pre-printed media;
determining, based on the scanned template, a printable area of the pre-printed media by:
identifying a first variation in the intensity of light detected by a scan head of the scanner,
identifying the angle that the motor has rotated the pre-printed media when the first variation is detected and calculating a linear distance therefrom,
providing a first offset of the linear distance from the top of the pre-printed media and marking the first offset as unprintable,
identifying a second variation in the intensity of light detected by a scan head of the scanner,
identifying the angle that the motor has rotated the pre-printed media when the second variation is detected and calculating a linear distance therefrom, and
providing a second offset starting at the linear distance from the top of the pre-printed media and extending to the bottom of the pre-printed media and marking the second offset as unprintable;
manipulating a soft copy of a document such that the document is configured to fit into the printable area of the template; and
causing the printer to print the document in the printable area of the pre-printed media.