TECHNIQUES PERTAINING TO DOCUMENT PRINTING

Techniques pertaining to printing a document are disclosed. A computer server may receive decoded document metadata and locate a document in a document repository using the document metadata. The server may determine whether the document metadata is indicative of a most recent version of the document and, if not, retrieve the most recent version of the document. The server may also create a tag for the retrieved most recent version of the document comprised of up to date document metadata in which the tag data is embedded in a graphic that is merged with the most recent version of the document. The server may create a print job for the most recent version of the document and send the print job to a network enabled printer over a network connection.

DETAILED DESCRIPTION

Often, a user would like to print the most recent version of a document from a document management application for an enterprise. In some cases, the user may not know certain document metadata such as the document identifier and document location but may have a paper copy of the document. The paper copy of the document may or may not be the most recent version of the document and the user may wish to obtain an updated printed copy of the most recent version of the document from the enterprise's document management application. This objective may be achieved if the existing document is tagged with metadata that can be scanned or imaged and subsequently interpreted by (or on behalf of) the document management application.

FIG. 1Aillustrates an embodiment of a system architecture100for printing documents. This embodiment described herein facilitates the identification and printing of an updated version of a document from a document management application using a printed copy of the document that may or may not be the most recent version. The existing printed copy of the document may include a graphic106somewhere within the document. The graphic106may be relatively inconspicuous such as a logo, a watermark, or some other visual indicator.

The graphic106may be more naturally integrated into the document than say, for instance, a bar code. The graphic106may be tagged with document metadata. The metadata may include, for example, a document identifier a document location, and a document version, among other types of metadata. The document identifier may be indicative of a name or title of the document or a numeric identifier given the document by the document management application115. The document location may be indicative of a location for the document, such as a universal resource locator (URL), a drive/directory identifier, a network address, or some other suitable location information indicative of the location of the document within the file management system. The document version data may be indicative of the specific version of the document that was printed. One common function of document management applications may be to save newer versions of the same document. Thus, multiple versions detailing the evolution of a document may be stored in the document management system.

A tagged document105may be the current printed version of a document in the user's possession. The user may wish to print the most recent version of the document, however. This task may be difficult if the user does not know the document metadata offhand in order to directly access the document management system. The tagged document105includes the document metadata embedded in a non-human readable format. Moreover, the document metadata may be inconspicuously integrated into a graphic106somewhere within the tagged document105. The graphic106is likely designed to be a natural part of the tagged document105such as a logo or watermark or the like. The graphic106need not be present on every page of a multi-page document. If the graphic is present on multiple pages, then any page containing the graphic may be scanned to retrieve and automatically print the latest version of the document.

The user may be in possession of or near a network enabled imaging device capable of imaging or scanning the tagged document105, more specifically, the graphic106containing the embedded metadata. Such an imaging device may include, but is not limited to, a scanner165, a camera equipped tablet computer170, a camera equipped smartphone or PDA175. Using one of the aforementioned devices, the user may scan the graphic106(e.g., tag scan107) or take a picture of the graphic106(e.g., tag scan107) using the internal camera. In this embodiment, the scanner165, tablet computer170, or smartphone/PDA175may decode the image of the graphic106to recover the document metadata. The recovered document metadata may be uploaded to the server110in a web service call154.

The server110may include components such as a processing component101, a document management application115, a document repository125, a document tagging module130, a print job module135, and a network interface111.

The document management application115may receive a web service call154that includes recovered document metadata. The recovered document metadata is presented to the document management application115. The document management application115may then interpret the document metadata to search for and locate the document within a document repository125. In the process of searching, the document management application115may further determine if the document version identifier in the document metadata corresponds to the most recent version of the document. If not, the most recent version of the document is returned to the document management application115. This retrieved document along with the document metadata may then be forwarded to a print job module135. Before creating and forwarding the actual print job133, the metadata is forwarded to a document tagging module130. The document tagging module130may then create a tag to be merged with or incorporated into the document to be printed to create the print job133.

The process of creating a metadata tag comprised document metadata may utilize, for example, a technique known as clustered dot half-toning as is commonly used in both dry toner and liquid toner electro-photographic processes. More specifically, the tagging method may take as input any grayscale image (e.g., logo) and a payload of data (e.g., document metadata) to be encoded and produce a bi-tonal clustered dot halftone of that image in which selected halftone clusters are shifted to carry varying numbers of bits from the payload data. The resulting data bearing halftone is referred to as a “graphical tag”. The graphical tag image may then be merged with the document to be printed to create the print job133. In addition, because of the small size and large number of clustered dot cells in printed halftones, the bit density is quite high (over2,000per square inch.

The print job module135may then create a print job133comprised of the document and the graphical document metadata tag to be sent to a remote network enabled printer160where it can be executed. The result is a printed copy of the most recent version of the original tagged document105.

FIG. 1Billustrates another embodiment of a system architecture100for printing documents. This embodiment described herein also facilitates the identification and printing of an updated version of a document from a document management application using a printed copy of the document that may or may not be the most recent version. The existing printed copy of the document may include a graphic106somewhere within the document. The graphic106may be relatively inconspicuous such as a logo, a watermark, or some other visual indicator.

The graphic106may be more naturally integrated into the document than say, for instance, a bar code. The graphic106may be tagged with document metadata. The metadata may include, for example, a document identifier a document location, and a document version, among other types of metadata. The document identifier may be indicative of a name or title of the document or a numeric identifier given the document by the document management application115. The document location may be indicative of a location for the document, such as a universal resource locator (URL), a drive/directory identifier, a network address, or some other suitable location information indicative of the location of the document within the file management system. The document version data may be indicative of the specific version of the document that was printed. One common function of document management applications may be to save newer versions of the same document. Thus, multiple versions detailing the evolution of a document may be stored in the document management system.

A tagged document105may be the current printed version of a document in the user's possession. The user may wish to print the most recent version of the document, however. This task may be difficult if the user does not know the document metadata offhand in order to directly access the document management system. The tagged document105includes the document metadata embedded in a non-human readable format. Moreover, the document metadata may be inconspicuously integrated into a graphic106somewhere within the tagged document105. The graphic106is likely designed to be a natural part of the tagged document105such as a logo or watermark or the like. The graphic106need not be present on every page of a multi-page document. If the graphic is present on multiple pages, then any page containing the graphic may be scanned to retrieve and automatically print the latest version of the document.

The user may be in possession of or near a network enabled imaging device capable of imaging or scanning the tagged document105, more specifically, the graphic106containing the embedded metadata. Such an imaging device may include, but is not limited to, a scanner165, a camera equipped tablet computer170, a camera equipped smartphone or PDA175. Using one of the aforementioned devices, the user may scan the graphic106(e.g., tag scan107) or take a picture of the graphic106(e.g., tag scan107) using the internal camera. The scanner165may scan the graphic106and upload the scanned image (e.g., encoded tag data152) to a cloud based document rendering server (the “server”)110over a network150such as the Internet. Similarly, the tablet computer170or the smartphone/PDA175may take a picture of the graphic106and upload the image (e.g., encoded tag data152) to the server110. In this embodiment, the scanned or photo image of the graphic has not been decoded prior to uploading to the server110.

The server110may include components such as a processing component101, data tag decoder120, a document management application115, a document repository125, a document tagging module130, a print job module135, and a network interface111. The data tag decoder120may receive the uploaded encoded tag data152from any of the scanner165, the tablet computer170, smartphone/PDA175or other suitable network enabled imaging device. The data tag decoder120may analyze the image of the graphic106to decode the data embedded into the graphic106. Once decoded, the decoded tag data122indicative of the document metadata may be forwarded to the document management application115.

The document management application115may receive decoded tag data122that includes the recovered document metadata. The recovered document metadata is presented to the document management application115. The document management application115may then interpret the document metadata to search for and locate the document within a document repository125. In the process of searching, the document management application115may further determine if the document version identifier in the document metadata corresponds to the most recent version of the document. If not, the most recent version of the document is returned to the document management application115. This retrieved document along with the document metadata may then be forwarded to a print job module135. Before creating and forwarding the actual print job133, the metadata is forwarded to a document tagging module130. The document tagging module130may then create a tag to be merged with or incorporated into the document to be printed to create the print job133.

The print job module135may then create a print job133comprised of the document and the graphical document metadata tag to be sent to a remote network enabled printer160where it can be executed. The result is a printed copy of the most recent version of the original tagged document105.

FIG. 2illustrates an embodiment of a scanner165. The scanner165includes a processing component205, an imaging device210, a communications interface215, and an image processing application220. Some embodiments may also include a tag decoder application225.

The processing component205may be operative to control the other components in the scanner165. The imaging device210may be operative to scan an image of a paper document that has been placed in a viewing area of the imaging device210. Specifically, a user may place a part of the document that contains the graphic106with the encoded tag data152within the field of view of the imaging device210. The imaging device210may then capture an image of the graphic106. The captured image may be forwarded to the image processing application220for processing. The processing may include formatting the image data for transport across a network150to server110via the communications interface215. The formatted image may then be transported across the network150to the server110.

In some cases the scanner165may be coupled with a computer that is coupled with the network150such that the formatted image data is sent to the server110through the computer. Moreover, the scanner may be coupled to the network or a computer over a wired or wireless connection. Typical wireless connections may include the Bluetooth protocol or any of the 802.11 family of protocols used ubiquitously for local area network (LAN) connections.

In embodiments that include a tag decoder application225, the captured image data may be subject to the same processing as described above with respect to the data tag decoder120ofFIG. 1. Thus, the image processing application220decodes the image to recover the document metadata for the scanned graphic106. The image processing application220may then create a web service call to the server110in which the web service call includes the document metadata. The web service call may then be forwarded to the server110over network150by means described above.

FIG. 3illustrates an embodiment of a tablet computer170and a smartphone/PDA175. The tablet computer170and smartphone/PDA175may each include a processing component305, a camera device310, a communications interface315, and an image processing application320. Some embodiments may also include a tag decoder application325.

The processing component305may be operative to control the other components in the tablet computer170and smartphone/PDA175. The camera device310may be operative to photograph an image of a paper document that has been placed in a viewing area of the camera device310. Specifically, a user may place a part of the document that contains the graphic106with the encoded tag data152within the field of view of the camera device310. The camera device310may then capture an image of the graphic106. The captured image may be forwarded to the image processing application320for processing. The processing may include formatting the image data for transport across a network150to server110via the communications interface215. The formatted image may then be transported across the network150to the server110.

The tablet computer170and smartphone/PDA175may be coupled to the network or a computer over a wireless connection. Typical wireless connections may include the Bluetooth protocol, any of the 802.11 family of protocols used ubiquitously for local area network (LAN) connections, or one or more RF cellular protocols capable of interfacing a mobile communications network with a network150such as the Internet.

In embodiments that include a tag decoder application325, the captured image data may be subject to the same processing as described above with respect to the data tag decoder120ofFIG. 1. Thus, the tag decoder application325decodes the image to recover the document metadata for the scanned graphic106. The image processing application320may then create a web service call to the server110in which the web service call includes the document metadata. The web service call may then be forwarded to the server110over network150by means described above.

FIG. 4illustrates an embodiment of a logic flow. The logic flow400may be representative of some or all of the operations executed by one or more embodiments described herein. The embodiments are not necessarily limited to the examples described herein.

In the illustrated embodiment shown inFIG. 4, the logic flow400may permit the server110to receive and process document metadata to search for and obtain a document, create a tag for the document with up to date metadata and create a print job133that includes the tag and the document. The print job133may then be sent such that a network enabled printer160connected through the network150may be caused to print the print job133. The logic flow400may be representative of some or all of the operations executed by one or more embodiments described herein.

In the illustrated embodiment shown inFIG. 4, the logic flow400may scan or photograph the tagged document105at block405. For example, a scanner165or tablet computer170or smartphone/PDA175(or other suitable imaging device) may capture an image of the graphic106within a tagged document105that contains the encoded document metadata. A scanner165may scan the graphic portion106of the tagged document105while a camera equipped tablet computer170or camera equipped smartphone/PDA175may take a photo of the graphic portion of the tagged document105. The scanner165, tablet computer170, or smartphone/PDA175may or may not be equipped with a tag decoder application.

In the illustrated embodiment shown inFIG. 4, the logic flow400may decode the tag data embedded within the graphic at block410. For example, if the imaging device (e.g., scanner165, tablet computer170, or smartphone/PDA175) is equipped with a tag decoder application225,325, the graphic106may be decoded by the imaging device to recover the document metadata of the tagged document105.

In the illustrated embodiment shown inFIG. 4, the logic flow400may make a web service call154to server110at block415. For example, the imaging device may be communicatively coupled with the network150(or may be communicatively coupled with an intermediate device such as a computer that is communicatively coupled with the network150). The imaging device may create a web service call154that contains the decoded document metadata. The web service call154may then be uploaded to a document management application115operative on server110via a network interface111.

In the illustrated embodiment shown inFIG. 4, the logic flow400may process the document metadata to determine the most recent version of the tagged document105at block420. For example, the document management application115may parse the document metadata to determine document characteristics such as document name, document location, and document version number.

Using this information the document management application115may search for and retrieve the document from document repository125at block425. For example, upon locating the document in the document repository, the document management application115may determine if the version of the found document is newer than the version contained in the metadata. The document management application115may then retrieve the most recent version of the document.

In the illustrated embodiment shown inFIG. 4, the logic flow400may create a tag for the retrieved document comprising updated metadata at block430. For example, the document tagging module130may utilize, for example, a technique known as clustered dot half-toning as is commonly used in both dry toner and liquid toner electro-photographic processes. More specifically, the tagging method may take as input any grayscale image (e.g., logo) and a payload of data (e.g., document metadata) to be encoded and produce a bi-tonal clustered dot halftone of that image in which selected halftone clusters are shifted to carry varying numbers of bits from the payload data (e.g., a graphical tag). The metadata tag may be requested by and then returned to the print job module135.

In the illustrated embodiment shown inFIG. 4, the logic flow400may create a print job133for the retrieved document at block435. For example, the print job module135may receive the retrieved document and updated document metadata from the document management application115. The print job module135may then forward the updated metadata to the document tagging module130. The document tagging module130may then create the graphical tag containing the updated metadata. The graphical tag may then be returned to the print job module135. The print job module135may then create a print job133by merging the graphical tag with the retrieved document. The print job133may be intended for a remote network enabled printer160. The logic flow400may send the print job133to a network enabled printer160at block440. For example, the print job module135may forward the print job133to the network interface111for subsequent transfer to a network enabled printer160over network150.

In the illustrated embodiment shown inFIG. 4, the logic flow400may print the print job133at block445. For example, the network enabled printer160may receive and queue the print job133. The print job133may then be printed according to its place in the printer queue. The printed document is indicative of the most recent version of the original tagged document105. In addition, the printed document will print with an updated graphic106containing document metadata for the most recent version of the document. This will allow the user to perform the same process at a later date if subsequent newer versions of the document are created.

FIG. 5illustrates an embodiment of a logic flow. The logic flow500may be representative of some or all of the operations executed by one or more embodiments described herein. The embodiments are not necessarily limited to the examples described herein.

In the illustrated embodiment shown inFIG. 5, the logic flow500may permit the server110to receive tag data indicative of document metadata, decode the tag, and process the document metadata to search for and obtain a document. The logic flow500may also create a tag for the document with up to date metadata and create a print job133that includes the tag and the document. The print job133may then be sent such that a network enabled printer160connected through the network150may be caused to print the print job133. The logic flow400may be representative of some or all of the operations executed by one or more embodiments described herein.

In the illustrated embodiment shown inFIG. 5, the logic flow500may scan or photograph the tagged document105at block505. For example, a scanner165or tablet computer170or smartphone/PDA175(or other suitable imaging device) may capture an image of the graphic within a tagged document105that contains the encoded document metadata. A scanner165may scan the graphic portion106of the tagged document105while a camera equipped tablet computer170or camera equipped smartphone/PDA175may take a photo of the graphic portion106of the tagged document105. The scanner165, tablet computer170, or smartphone/PDA175may or may not be equipped with a tag decoder application.

In the illustrated embodiment shown inFIG. 5, the logic flow500may send an image of the graphic106containing the encoded tag data152to a data tag decoder120operative on server110at block510. For example, the imaging device may be communicatively coupled with the network150as described above. If the imaging device (e.g., scanner165, tablet computer170, or smartphone/PDA175) is not equipped with a tag decoder application, the imaging device may upload the encoded tag data152via communications interface215,315to data tag decoder120operative on server110via network interface111for further processing and printing of the most recent version of the document.

In the illustrated embodiment shown inFIG. 5, the logic flow500may decode the tag data embedded within the graphic106at block515. For example the graphic106may be decoded by the data tag decoder120operative on server110to recover the document metadata of the tagged document105.

In the illustrated embodiment shown inFIG. 5, the logic flow500may process the document metadata to determine the most recent version of the tagged document105at block520. For example, the document management application115may parse the document metadata recovered by the data tag decoder120to determine document characteristics such as document name, document location, and document version number.

Using this information the document management application115may search for and retrieve the document from document repository125at block525. For example, upon locating the document in the document repository, the document management application115may determine if the version of the found document is newer than the version contained in the metadata. The document management application115may then retrieve the most recent version of the document.

In the illustrated embodiment shown inFIG. 5, the logic flow500may create a tag for the retrieved document comprising updated metadata at block530. For example, the document tagging module130may utilize, for example, a technique known as clustered dot half-toning as is commonly used in both dry toner and liquid toner electro-photographic processes. More specifically, the tagging method may take as input any grayscale image (e.g., logo) and a payload of data (e.g., document metadata) to be encoded and produce a bi-tonal clustered dot halftone of that image in which selected halftone clusters are shifted to carry varying numbers of bits from the payload data (e.g., a graphical, metadata bearing tag). The metadata tag may be requested by and then returned to the print job module135.

In the illustrated embodiment shown inFIG. 5, the logic flow500may create a print job133for the retrieved document at block535. For example, the print job module135may receive the retrieved document and updated document metadata from the document management application115. The print job module135may then forward the updated metadata to the document tagging module130. The document tagging module130may then create the graphical tag containing the updated metadata. The graphical tag may then be returned to the print job module135. The print job module135may then create a print job133by merging the graphical tag with the retrieved document. The print job133may be intended for a remote network enabled printer160. The logic flow400may send the print job133to a network enabled printer160at block440. For example, the print job module135may forward the print job133to the network interface111for subsequent transfer to a network enabled printer160over network150.

In the illustrated embodiment shown inFIG. 5, the logic flow500may print the print job133at block545. For example, the network enabled printer160may receive and queue the print job133. The print job133may then be printed according to its place in the printer queue. The printed document is indicative of the most recent version of the original tagged document105. In addition, the printed document will print with an updated graphic106containing document metadata for the most recent version of the document. This will allow the user to perform the same process at a later date if subsequent newer versions of the document are created.

It should be noted that the embodiments described herein may operate successfully and independently of a particular document management application115. Many document management applications utilize representational state transfer (REST) based interfaces and application programming interfaces (APIs) that facilitate the inclusion of document metadata in a print request (e.g., document identifier, document location, and instruction to print). REST-style architectures are comprised of clients and servers. Clients may initiate requests to servers while the servers process requests and return appropriate responses. Requests and responses may be built around the transfer of representations of resources. A resource can be essentially any coherent and meaningful concept that may be addressed. A representation of a resource is typically a document that captures the current or intended state of a resource. The client may send requests when it is ready to make the transition to a new state. While one or more requests are outstanding, the client may be considered in transition. The representation of each application state may contain links that may be used the next time the client chooses to initiate a new state transition. Thus, REST facilitates the transaction between web servers by allowing loose coupling between different services.