Fast embedded interaction code printing with custom postscript commands
First Claim
Patent Images
1. A method performed by a computer having a memory and a processor, the method comprising:
- with a processor, generating a one-dimensional sequence of numbers that does not repeat over a length n;
generating a two-dimensional array of numbers by folding the one-dimensional sequence of numbers;
generating an EIC pattern by,converting each number in the two-dimensional array into a graphical representation corresponding to an EIC symbol, each EIC symbol having an associated grid pattern and a plurality of dots, so that when an image of a portion of the EIC pattern is captured, the position of the image relative to the pattern can be determined by decoding the EIC symbols in the captured image,determining a unique document identifier for the electronic document, andembedding, within the EIC pattern, the determined unique document identifier as metadataso that position information and the document identifier can be decoded by analyzing the EIC pattern;
for each unique EIC symbol of the EIC pattern, creating a set of postscript commands to print the EIC symbol so that there exists one set of postscript commands for each unique EIC symbol;
associating a portion of the EIC pattern with each page of the electronic document;
storing an EIC array allocation within an EIC document, the EIC array allocation storing mappings of each page of the electronic document to a unique portion of the EIC pattern associated with the page so that when a page is printed, the page can be uniquely identified using the stored mappings and the portion of the EIC pattern associated with the page, wherein the EIC document is not a physical document and is stored separately from any version of the electronic document and wherein the EIC document contains an unencoded URL associated with the electronic document, compressed images of pages of the electronic document, an indication of a document version associated with the electronic document, and a plurality of EIC document objects, each EIC document object providing an association between a region on a physical document corresponding to a printed version of the electronic document and an object of the electronic document;
preparing an associated printer driver to accept data;
printing page content for a selected page of the electronic document;
for each EIC symbol within the portion of the EIC pattern associated with the selected page, executing the set of postscript commands to print the EIC symbol; and
providing a notification that printing the selected page is complete.
2 Assignments
0 Petitions
Accused Products
Abstract
Processes and apparatuses print documents containing embedded interactive code (EIC) information by the use of custom postscript commands that are printer independent, with little overhead when printing, smaller print file size, and faster print times. In order to determine the postscript commands, the EIC array may be represented as a bit for every point, as EIC symbols in which each kind of EIC symbol is a glyph of a font, or as graphics procedures. The postscript approach may be selected based on memory and printing time requirements.
364 Citations
21 Claims
-
1. A method performed by a computer having a memory and a processor, the method comprising:
-
with a processor, generating a one-dimensional sequence of numbers that does not repeat over a length n; generating a two-dimensional array of numbers by folding the one-dimensional sequence of numbers; generating an EIC pattern by, converting each number in the two-dimensional array into a graphical representation corresponding to an EIC symbol, each EIC symbol having an associated grid pattern and a plurality of dots, so that when an image of a portion of the EIC pattern is captured, the position of the image relative to the pattern can be determined by decoding the EIC symbols in the captured image, determining a unique document identifier for the electronic document, and embedding, within the EIC pattern, the determined unique document identifier as metadata so that position information and the document identifier can be decoded by analyzing the EIC pattern; for each unique EIC symbol of the EIC pattern, creating a set of postscript commands to print the EIC symbol so that there exists one set of postscript commands for each unique EIC symbol; associating a portion of the EIC pattern with each page of the electronic document; storing an EIC array allocation within an EIC document, the EIC array allocation storing mappings of each page of the electronic document to a unique portion of the EIC pattern associated with the page so that when a page is printed, the page can be uniquely identified using the stored mappings and the portion of the EIC pattern associated with the page, wherein the EIC document is not a physical document and is stored separately from any version of the electronic document and wherein the EIC document contains an unencoded URL associated with the electronic document, compressed images of pages of the electronic document, an indication of a document version associated with the electronic document, and a plurality of EIC document objects, each EIC document object providing an association between a region on a physical document corresponding to a printed version of the electronic document and an object of the electronic document; preparing an associated printer driver to accept data; printing page content for a selected page of the electronic document; for each EIC symbol within the portion of the EIC pattern associated with the selected page, executing the set of postscript commands to print the EIC symbol; and providing a notification that printing the selected page is complete. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. Apparatus that prints an electronic document with an embedded interaction code (EIC) pattern, comprising:
-
an interface module that interfaces with a postscript printer; a customization module that creates a collection of postscript components to represent possible EIC patterns, each EIC pattern including a plurality of EIC symbols having an associated graphical representation and an associated set of postscript commands for printing the graphical representation so that when an image of a portion of the EIC pattern is captured, the position of the image relative to the pattern can be determined by decoding the EIC symbols in the captured image; an EIC array allocation module that, for each page of the electronic document, allocates a unique portion of an EIC pattern to the page and that stores a mapping of each page of the electronic document to the unique portion of the EIC pattern allocated to that page so that when an image of a page is captured, the page can be uniquely identified by the portion of the EIC pattern in the captured image, wherein the mapping and the electronic document are stored separately; and a printer module that, in response to receiving a request to print a page of the electronic document, determines a portion of an EIC pattern allocated to the page of the electronic document at least in part by accessing the stored mapping of the page to the portion of the EIC pattern allocated to the page, and for each EIC symbol in the determined portion of the EIC pattern, determines a set of postscript commands from the collection of postscript components to represent the EIC symbol and that provides the set of postscript commands to the interface module to print the page of the electronic document. - View Dependent Claims (17, 18)
-
-
19. Apparatus that prints an electronic document with an embedded interaction code (EIC) pattern, comprising:
-
an interface module that interfaces with a postscript printer; an EIC pattern module that generates an EIC pattern for an electronic document, the EIC pattern including a plurality of EIC symbols having an associated graphical representation comprised of a plurality of dots and an associated set of postscript commands for printing the graphical representation so that when an image of a portion of the EIC pattern is captured, the position of the image relative to the pattern can be determined by decoding the EIC symbols in the captured image; an EIC array allocation module that allocates a unique portion of an EIC pattern to a page of the electronic document and that stores a mapping of the page of the electronic document to the portion of the EIC pattern allocated to the page so that when the page is printed, the portion of the EIC pattern on the page can be used to uniquely identify the page, wherein the mapping and the electronic document are stored separately; an EIC processing module that, for a page of the electronic document, obtains EIC pattern data corresponding to the portion of the EIC pattern allocated to the page, and converts a bit of information for each dot of the EIC pattern to form processed data; a compression module that compresses the processed data to form compressed data; an encoder module that encodes the compressed data to form encoded data; a mixer module that mixes the encoded data with customized postscript commands to obtain valid sequences; and a printer module that instructs the postscript printer, through the interface module, to print page content and the portion of the EIC pattern associated with the page content.
-
-
20. A method performed by a computer having a memory and a processor, the method comprising:
-
with a processor, generating an embedded interaction code pattern; for each of a plurality of pages of the electronic document, allocating a unique portion of the generated embedded interaction code pattern to the page, wherein each of the plurality of pages is associated with a different portion of the generated embedded interaction code pattern, and storing a mapping between the allocated portion of the generated embedded interaction code pattern and the page, wherein the mapping is not stored within a version of the electronic document; and printing a page of the electronic document at least in part by, using a stored mapping to identify the unique portion of the generated embedded interaction code pattern associated with the page, and executing at least one postscript command to print the identified unique portion of the generated embedded interaction code pattern. - View Dependent Claims (21)
-
Specification