This invention relates to printing digital documents, and to digital pen and paper systems—sometimes called pen computing—in which documents are produced which include position identification pattern made up of markings printed on the document which can be detected by a suitable detection system and used to distinguish different positions on the documents.
It is known to use documents having such position identification markings in combination with a digital pen having an imaging system, such as an infra red camera, within it, which is arranged to image a small area of the page close to the pen nib. The digital pen includes a processor having image processing capabilities and a memory and is triggered by a force sensor in the nib to record images from the camera as the pen is moved across the document. From these images and information about the pattern the pen can determine the position of any marks made on the document by the pen. The markings can be stored either directly as graphic images, or perhaps as a sequence of “strokes/position on the document/time”, which can be passed from the pen to a suitable processor such as a personal computer.
The combination of the pen and the patterned paper allows, for example, forms with checkboxes on to be provided and the markings of the check boxes with the pen detected. In further applications the pen markings recorded by the pen may be analysed to recognise handwriting characters.
For such a system to be able to handle a large number of documents it is desirable for the system to be able to print a different pattern on every document. In this way, the pen cannot only tell where it is on a document but also what document it is. The size of the pattern, its so-called area in pattern space, should be made very large and the allocation of portions of the pattern to documents recorded. By publishing the document on a central server after it has been designed and recording the identity of a portion of pattern allocated to each published document on a database held on a server, which can be cross-reference with the pen readings, a very flexible and powerful system can be achieved.
An example of a system which employs this type of digital paper is known from Anoto AB, and information about the requirements for a suitable pattern can be found on their website at www.anoto.com.
At present, production of documents including pattern starts with the creation of a first document which contains some content using a document design tool. A portion of pattern is allocated to an area of the document and the document is published by storing the identity of the document on a central server along with the identity of one or more portions of pattern that are allocated to the document by a pattern allocation unit. A dedicated processing application or paper handling application is also created which is stored on a local server and provides information about how to handle markings made in the patterned areas. The location and identity of this application is also stored on the central server. Whenever a pen reads pattern from the paper, it contacts the central server which sends back the location of the paper application and the identity of the document. The pen information is then sent to the correct paper handling application for processing.
According to a first aspect the invention provides a method of printing a digital document comprising:
providing a first document for printing, the first document comprising at least one functional area in which pattern markings are to be printed,
generating from the first document a second document in which at least one of the shape and or size and or location of the at least one functional area is modified,
obtaining a portion of pattern to fit the modified functional area, and
printing the second document.
An advantage of the present invention is that changes can be made to the first document at the time of printing which change the functional area whilst retaining the functionality of the pattern areas. For example, if the modification comprises scaling of the document to increase its size a standard method of printing would scale the whole document including the pattern in the pattern areas. This would change the spacing of the pattern markings which may render it unfunctional.
In the present invention the pattern is allocated after the document has been scaled and so the pattern marking spacing is not affected. Instead, the amount of pattern requested is chosen to match the modified size of the pattern areas.
The step of modifying the document and/or obtaining the pattern for the functional area may be performed by a print application such as a printer driver. This modification therefore occurs at print time, after the design and optional publication of the document in a digital paper processing system has occurred.
The printer driver may present to a user one or more prompts for the user to modify the original document. The prompts may be provided within the environment of a graphical user interface of a host PC or server or other processing device.
The method step of obtaining the pattern for the functional area may include a step of requesting a portion of pattern for the functional area from a pattern allocation device. This allocation device may be provided on a server connected to the host device which runs a print application and the method may therefore comprise requesting pattern from the host server.
The amount of pattern requested, and the identity of the pattern (its location in pattern space) may be determined according to the size of the modified functional area. For example, where the document is modified to scale up the content including the functional area, the method will comprise requesting a larger area of pattern for the functional area than would be requested if it was scaled down. In an alternative, the method may not scale the pattern but may instead request a larger portion of pattern to fill the area. The spacing between markings is important to the functionality and scaling the pattern could prevent it working.
The step of requesting pattern may comprise requesting an area of pattern larger than that which is required for a functional area of a document and allocating a sub-portion to the functional area according to how it has been modified. This is advantageous as a given area of pattern space can be allocated to a particular document regardless of how it is to be subsequently modified. The trade-off is that this ultimately means that more pattern needs to be allocated to a particular original document if each document is to have unique pattern printed thereupon.
The method step of modifying the functional area may comprise increasing its size, varying its aspect ratio or rotating the area relative to the remainder of the document.
It will be understood that the step of modification at the time of printing enables documents to be altered after they have been designed and published as part of a digital document processing system. The step of providing the first document may therefore comprise passing a document out from a document design application or retrieving a pre-designed document from a store.
According to a second aspect the invention provides a digital document processing apparatus comprising:
a print application which receives a first document for printing, the first document comprising at least one functional area in which pattern markings are to be printed,
a document generating means arranged to generate from the first document a second document in which at least one of the shape and or size and or location of the at least one functional area is modified, and
a pattern allocation unit which is arranged to allocate a portion of pattern to fit the modified functional area at the request of the print application in which the print application allocates pattern to the functional area according to its shape and or location and or size after modification
The print application may comprise a printer driver and it may generate a print file which comprises a set of instructions in a language which can be understood by a printing device. This may comprise a file written in a printer language such as Postscript or PCL.
The apparatus may include a printer which is adapted to print the modified document together with the pattern markings.
The pattern allocation unit may allocate a portion of pattern that is larger than that required and the print application may in turn allocate a sub-portion of this portion to the functional space. Where more than one functional space is present, a unique—yet again oversize—portion of pattern may be allocated to each functional area. This is advantageous as it keeps the step of allocating pattern to the modified areas local to the print application simple. Every time a request is made for pattern the pattern allocation unit can allocate a standard sized portion of pattern which the printer driver subdivides as needed. It may therefore simplify the communication from print application to pattern allocator. It is envisaged that the oversized portion of pattern may already have been allocated to the document whenever it is published on the server.
The pattern allocation unit or a separate unit may store a set of identifiers which uniquely identifies each of a set of first documents and may allocate a unique portion of pattern to each document. The print application may identify the first document that is being modified to the pattern allocator as part of the request for pattern. If the identifier is unknown to the pattern allocator it may add it to the set and allocate a new portion of unused pattern to the newly added document. The identifier may be created as a published document whenever a first document has been designed.
The apparatus may include a digital pen which is adapted to read pattern from a document printed by the apparatus, and a document processing means which is adapted to interpret the pen strokes from the digital pen according to a set of stored information about the pattern printed with the document.
The apparatus may provide details of the pattern printed in the at least one functional area to the document processing means. This ensures that the pen markings read by the pen can be matched up to the document in which they are printed. The print application may provide this information to the document processing means.
In one arrangement the document processing means may comprise a tailored paper application (computer program) running on a processor of a PC or the like which is adapted to interpret pen strokes for a document.
According to a third aspect the invention provides a computer program which is arranged to:
receive a first document for printing, the first document comprising at least one functional area in which pattern markings are to be printed,
generate from the first document a second document in which at least one of the shape and or size and or location of the at least one functional area is modified, and
request a portion of pattern to fit the modified functional area from a source of pattern, the program allocating pattern to the functional area according to its shape and or location and or size after modification.
The computer program may comprise a printer driver.
There will now be described, by way of example only, several embodiments of the present invention with reference to the accompanying drawings of which:
Referring to
The content 109 will obviously depend entirely on the intended use of the document. In this case an example of a very simple two-page questionnaire is shown, and the content includes a number of boxes 110, 112 which can be pre-printed with specific information such as the users name 114 and a document identification number 116.
It is envisaged that the position-identifying pattern that is printed may have many forms but one suitable example is that shown in
Referring to
An application service handler (ASH) 306, which is a program run, in this case, on a separate server having its own memory, processor I/O devices and communications port, is also provided with Internet connection. The ASH 306 is arranged to interpret the pen strokes recorded by the pen 300, as described below, converting them to an input suitable for the application on the PC 302. The ASH may include an intelligent character recognition (ICR) program so that it can interpret handwritten input on the document 100 and convert it to digital text. A further ASH 307 is also provided, and is associated with a different application and arranged to interpret pen strokes for that application. In this example, there is one ASH for each application that makes use of the digital pen and paper system.
Each ASH 306, 307 needs to have access to information about the layout of any particular document 100 including the positions, dimensions and functions of each of the patterned areas so that it can process any pen strokes made on the document 100. This information can be obtained from the central server 304 which has installed on it an application known as an enterprise paper look-up service (EPLS) as explained below.
The enterprise paper lookup service (EPLS) 304 is provided on the central server with Internet connection to the host PC which supports the pen. A proxy service running on the host PC connects to the EPLS whenever pen strokes arc received. The EPLS includes a program arranged to receive data from the pen when the pen has been used on the document 100, the data identifying which areas of pattern space have been written on. Typically the pattern space that is associated with the send box 122, and which the pen 300 has recognized as a prompt to contact the EPLS, is identified to the EPLS application.
The information held on the central server 304 as part of the EPLS application includes a database of published documents (information about the documents layout and size etc), pen identities and, importantly a database of pattern portions allocated to particular published documents. The central server 304 also includes a pattern allocation unit which allocates pattern to the published documents and which the EPLS can interrogate to determine the unique identity of the document 100 by relating the pattern that is read by the pen with the published documents in the database, and which application the document is associated with, and therefore which of the ASHs 306, 307 should be used for that application. The EPLS identifies the appropriate ASH 306 and the document identity to the pen. The pen can then send the pen stroke data and the document identity to the correct ASH 306, 307.
It will be understood that the various components of the system can all be located at separate locations, communicating via the internet as described. Alternatively some or all of them could be provided together on a single server, or grouped on a local network. This might be appropriate where a self-contained system for a limited number of applications is required.
Referring to
When the user has finished marking the document, in this case when the questionnaire is completed, this is recorded in a document completion process, for example by making a mark with the pen in the send box 122. The pen is arranged to recognise the pattern in the send box 122 and determine from that pattern the identity of the document 100. It then sends this document identification information to the EPLS 304, which identifies the relevant ASH 306 to the pen 300, by sending the URL of the ASH 306 to the pen 300. The pen stroke data is then sent by the pen 300 to the ASH 306. The pen 300 can be connected to the network in any suitable manner, but in this case it is via a Bluetooth radio link with the PC 302. Suitable pens are available from Logitech under the trademark Logitech lo.
A set of digital documents 100 for use in the system of
The user may define functions associated with the various patterned areas defined at step 608 so that the application 402 can process data received back when the document 100 has been written on. In the case of the questionnaire document 100 the pattern areas in the larger boxes 120, 121 are identified as a graphical input areas, for which any pen markings should be stored graphically, or perhaps analysed using character recognition and stored as text. The pattern associated with the check boxes 118 is associated with the respective response options so that the checking of the boxes 118 on a number of the forms 100 produces a standard mark, such as a cross, in the check box of the stored document. The pattern associated with the send box 122 is associated with the send function which will cause the pen to stop recording pen strokes for the document 100 and send them to the ASH 306.
Once the document 100 has been named, the user indicates, using the FDT 416 that it is completed. The PDT then creates a Paper Application Definition (PAD) file—the information about the published document—which is a file defining those features or parameters of the document 100 that will be needed by the ASH 306 to interpret pen strokes made on the document 100. Those parameters may include the size and shape of the pattern areas, their relative positions in pattern space as indicated by a unique pattern ID or perhaps a seed for producing the portion of pattern, and their functions, such as whether they are check boxes, areas for graphical input, areas for ICR analysis or areas having other functions.
These parameters are the ones necessary to allow the processing of pen strokes made on the document 100 using the pen 300.
The document is named at step 610 and then “published” on the central server by sending at step 612 the PAD file to the EPLS 304 when the document 100 has been finished and printed and before it is written on with the pen, so that the EPLS can tell the ASH how to interpret pen strokes on the document 100 and produce the necessary inputs to the application 402. Keeping this PAD file on the EPLS means it is readily available to any ASH that wants access to it.
Of course, it is to be understood that the document could be designed in many other ways, and it may not be necessary to allocate pattern to the document at all at this initial stage, the pattern being allocated at the print stage. The document design may simply identify functional areas in which pattern is needed, perhaps by indicating their boundary and adding a marker or tag to say that “pattern is needed here”. These markers or tags can be saved along as part of the completed document together with the document content.
Having defined a document and published it at the EPLS, the user is ready to print the document. The printing of the digital document—comprising the content and a pattern which is allocated to it at the print stage—may be achieved in a single pass process using any printer that has a sufficient resolution to produce the dots of the pattern.
The workflow for printing a document using the apparatus of
The other modifications prompted by the printer driver may include scaling of the document to fit to a range of document sizes (e.g. A3 or A5) or to a custom size. They may include altering the document's aspect ratio, perhaps scaling it to fit a page size in one or both of the horizontal and vertical directions. It may be a combination of these. It could, indeed, be any form of modification that could be offered by a standard prior art printer driver that affect size or shape of the pattern areas.
The prompts for modifications could be radio buttons or other graphical images displayed to the user on a screen, the user responding by positioning a marker over the radio button and pressing a key or button of a keyboard or mouse connected to the computer 700.
Once the modification of the document is complete the printer driver determines 804 the size and shape of the functional areas of the modified document and contacts the pattern allocation unit to request at step 806 an amount of pattern. The pattern allocated depends on the shape and size of the pattern areas after modification. The pattern is then allocated at step 808 to the modified area by the printer driver they have been modified. The printer driver converts the modified document with pattern into a set of print instructions that can be sent to the printer. The printer on receiving these print instructions can then print out a digital document with the required pattern in the functional areas. Finally, the allocated pattern is associated with the PAD file on the EPLS such that when a pen reads this pattern the EPLS directs the pen strokes to the correct ASH.
The pattern allocation unit may supply the printer driver with a portion of pattern that is larger than the document as originally designed. In this case, the printer driver may select sub-portions of pattern from within this to fit to the functional area. In this way, the request made to the pattern allocation unit is simplified as the printer driver always asks for the same amount of pattern regardless of the modifications made to the document. In an alternative, it could request specific portions for each functional area.
As indicated, once the modified document has been created and sent to print (by generating an appropriate set of print instructions) the details of the pattern allocated to the printed document are stored at the EPLS to be linked to or to form part of the PAD file to enable the ASH to take into account changes to the pattern used.
It will, of course, be understood that by functional area in this work we may simply mean an area which is printed with a pattern of positional markings. Such areas could be allocated a function such that an application performs a specific task when a pen indicates that markings have been made in one of these areas, but this is not essential to the invention. Indeed, the pattern of digital markings may simply provide the function of identifying which document has been marked by a pen and therefore provide a form of document watermark. In this case, the system may simply comprise a store in which pattern and corresponding published document details are held, a pattern allocation unit and an appropriate printer driver or other printing application.
Number | Date | Country | Kind |
---|---|---|---|
0321166.1 | Sep 2003 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP04/51939 | 8/27/2004 | WO | 2/6/2007 |