When printing a document, a user may enter print preferences related to the document in a pop-up dialog. For example, the user may enter text or information related to the document that is to be printed in the pop-up dialog. This information may then be used for print routing or for other workflows. The information that is printed on the document may include the contents of the document.
Features of the present disclosure are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, in which:
For simplicity and illustrative purposes, the present disclosure is described by referring to examples. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure.
Throughout the present disclosure, the terms “a” and “an” are intended to denote at least one of a particular element. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on.
Printed documents may lack information to link an individual paper document to its electronic original, the situation that triggered the print, or even when the document was printed. For example, the information that is printed on the document may include the contents of the document. In certain cases, metadata related to the document may be entered by a user by using a pop-up dialog. In certain cases, the pop-up dialog may be initiated during printing of the document. Examples of such metadata include an author of the document, a document creation date, a document location, and generally, any information that is related to the document. Such metadata related to the document may be entered by a user, instead of being ascertained from an application and/or an operating system (OS) of a device that is used to initiate the printing,
According to examples, a print client based marking engine and a method for print client based marking are disclosed herein. Generally, the engine and method disclosed herein may provide for the OS and, applications to pass metadata that is not part of a rendered document, but may be added as a machine-readable mark on the printed or displayed document, e.g., via a bar code (such as a QUICK RESPONSE (QR) code), steganography, micro text, magnetic inks, magnetic ink character recognition (MICR), and other such processes and codes. In some examples, the machine-readable mark may be represented in an encoded form that is not readily readable by a human, but readable by a computing device (e.g., a bar code reader (such as a QR code reader), a magnetic ink reader, etc.) to determine payload information (e.g., the metadata or information useable to access the metadata in a remote storage) encoded in the code of the machine-readable mark. The metadata may be derived from applications, and include information that is not generally added into a printed form of a document. For example, the metadata may include the author of a document, the file location of the document in the OS, the time of document printing, global positioning system (GPS) coordinates of a device that includes the engine to print the document, etc. If the metadata is derived from an application such as a content management system, the metadata may include, for example, information indicating individuals that have reviewed a document, whether the document is approved or not, etc.
In some examples, the engine may include certain functionalities of print drivers and/or print plugins. In some examples, the engine may be a print driver and/or a print plugin. With respect to UNIX systems for example, a printer driver may include machine readable instructions that convert the data to be printed to a form specific to a printer. With respect to ANDROID systems for example, a print plugin may perform similar functionalities of a print driver. With respect to the functionalities of print drivers and/or print plugins, the engine may operate as an adapter between the OS application programming interface (API) and a printing device.
In examples described herein, a metadata ticket that is related to a document may be passed to the engine, for example, when the document is to be printed. For example, the metadata ticket may be passed to the engine when an application generates instructions to print the document. The metadata ticket may include a collection of metadata. The metadata ticket may be stored in a metadata repository (e.g., a cloud database, or another type of database). The collection of metadata for the document may be accessed when the machine-readable mark is scanned, or the machine-readable mark may redirect a user to a uniform resource locator (URL) that indicates a location from which the collection of metadata may be obtained.
According to an example, print client based marking may include instructing a repository (e.g., a metadata repository) to store metadata related to a document to be printed, and generating a machine-readable mark that includes an identification of a location of the stored metadata. Print client based marking may further include generating an electronic version of the document that includes the machine-readable mark, and instructing a printing device (e.g., a printer) to print the electronic version of the document to generate a printed document that includes a display of the machine-readable mark.
The engine 100 may assess metadata 108 related to the document 104. In some examples, the engine 100 may receive the metadata 108 from the application 102 and/or an OS 110 that is related to the engine 100.
A metadata storage module 112 of the engine 100 may instruct a metadata repository 114 to store the metadata 108 in the metadata repository 114.
A machine-readable mark determination module 116 of the engine 100 may determine (e.g., generate) a machine-readable mark 118 that includes an identification of a location 120 of the metadata 108 in the metadata repository 114.
A document electronic version generation module 122 of the engine 106 may generate an electronic version of the document 104 that includes the machine-readable mark 118.
A document printing module 124 of the engine 100 may instruct a printing device 126 to print the electronic version of the document 104 to generate a printed document 128 that includes a display of the machine-readable mark 118. The printing device 126 may be a printer that is used to generate a paper version of the printed document 128. In some examples, the document printing module 124 may instruct the printing device 126 to print the machine-readable mark 118 at a specified location on the printed document 128. The specified location may be a known location (e.g., a bottom right hand corner) that is used to scan the machine-readable mark 118.
In the example of
Referring to
The engine 100 may ascertain the metadata 108 from the application 102, the OS 110 of the device 130, and/or another source that may access and/or generate the metadata 108. The engine 100 may also ascertain the metadata 108 from the document repository 106.
In an example illustrated in
The application 102 may be any general application that is developed to perform a predetermined function on the device 130. For example, the application 102 may be a spreadsheet, a word processor, a portable document format (PDF) reader or creator, etc. The application 102 that is used to print the document 104 may generate the metadata 108 that is generally not part of the document layout, but is related to information about the document 104. For example, the metadata 108 may include information such as the author of the document 104, changes that are made to the document 104, etc. For example, if the metadata is derived from an application such as a content management system (e.g., ATUTOR), the metadata may include, for example, information indicating individuals that have reviewed a document, whether the document is approved or not, etc.
In some examples, the metadata 108 may include information related to the author of the document 104, which authors have reviewed the document 104, changes to the document 104, the location of the device 130 (e.g., via a global positioning system (GPS) coordinate) from which the document 104 is printed, a URL associated with an original version of the document 104, the time of access and/or printing of the document 104, a device identification (ID) for the device 130 and/or the engine 100, etc.
The machine-readable mark 118 may include, for example, a QR code, or another type of machine-readable mark on the document 104 (i.e., a PDF or paper version of the printed document 128), and may encode the metadata 108 stored in the metadata repository 114 or an indication of the metadata location 120 into the printed document 128.
The machine-readable mark 118 may be placed on the document 104 at a location that does not interfere with the contents of the document For example, the machine-readable mark 118 may be placed at a corner of the document 104. Alternatively, the location of the machine-readable mark 118 may be determined based on the determination of a predetermined distance from the content of the document 104. The machine-readable mark 118 may also be implemented in a manner that is invisible to a user of the document 104. The machine-readable mark 118 may also be implemented in a PDF that is generated of the document 104, and further printed.
When a document is to be printed, the engine 100 may access the metadata 108 from the metadata repository 114 or determine the location of the stored metadata from the metadata repository 114. The engine 100 may encode the metadata 108 and/or its stored location to generate the machine-readable mark 118. Further, the engine 100 may place the machine-readable mark 118 on the document 104 when the document 104 is printed or displayed.
The machine-readable mark 118 may be scanned from the printed document 128 to access the metadata 108 that is stored in the metadata repository 114. For example, a bar code scanner may be used to scan the machine-readable mark 118 that is in the form of a bar code to access the metadata 108 that is stored in the metadata repository 114.
Various mechanisms may be used to provide for the application 102 to pass the metadata 108 to the engine 100. In this regard,
Another mechanism that may be used to provide for the application 102 to pass the metadata 108 to the engine 100 is described with reference to
Referring to
At block 404, the method may include assessing metadata from an application used to interact with the document, where the metadata is related to the document. For example, referring to
At block 406, the method may include instructing a repository to store the metadata in the repository. For example, referring to
At block 408, the method may include determining a machine-readable mark that includes an identification of a location of the metadata in the repository. For example, referring to
At block 410, the method may include generating an electronic version of the document that includes the machine-readable mark For example, referring to
At block 412, the method may include instructing a printing device to print the electronic version of the document to generate a printed document that includes a display of the machine-readable mark. For example, referring to
According to an example, with an extension into the OS related to a component that is to receive the metadata from the application, the method 400 may include passing the metadata to the component from the application. For example, referring to
According to an example, with a passthrough command to pass the metadata to a component that is to receive the metadata from the application without interception by an OS related to the component, the method 400 may include passing the metadata to the component from the application. For example, referring to
Referring to
At block 504, the method may include instructing a repository to store the metadata in the repository. For example, referring to
At block 506, the method may include determining a machine-readable mark that includes an identification of a repository location of the metadata in the repository. For example, referring to
At block 508, the method may include instructing a printing device to print the machine-readable mark on a document location on the document. For example, referring to
Referring to
At block 604, the method may include instructing a repository to store the metadata. For example, referring to
At block 606, the method may include generating a machine-readable mark that includes an identification of a location of the stored metadata. For example, referring to
At block 608, the method may include generating an electronic version of the document that includes the machine-readable mark. For example, referring to
At block 610, the method may include instructing a printing device to print the electronic version of the document to generate a printed document that includes a display of the machine-readable mark. For example, referring to
The computer system 700 may include a processor 702 that may implement or execute machine readable instructions performing some or all of the methods, functions and other processes described herein. Commands and data from the processor 702 may be communicated over a communication bus 704. The computer system may also include a main memory 706, such as a random access memory (RAM), where the machine readable instructions and data for the processor 702 may reside during runtime, and a secondary data storage 708, which may be non-volatile and stores machine readable instructions and data. The memory and data storage are examples of computer readable mediums. The memory 706 may include a print client based marking module 720 including machine readable instructions residing in the memory 706 during runtime and executed by the processor 702. The print client based marking module 720 may include the modules of the engine 100 shown in
The computer system 700 may include an I/O device 710, such as a keyboard, a mouse, a display, etc. The computer system may include a network interface 712 for connecting to a network. Other known electronic components may be added or substituted in the computer system.
What has been described and illustrated herein is an example along with some of its variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the spirit and scope of the subject matter, which is intended to be defined by the following claims—and their equivalents—in which all terms are meant in their broadest reasonable sense unless otherwise indicated.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2014/063499 | 10/31/2014 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2016/069006 | 5/6/2016 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6781710 | Simpson | Aug 2004 | B1 |
6820075 | Shanahan et al. | Nov 2004 | B2 |
6898625 | Henry et al. | May 2005 | B2 |
7405847 | Short et al. | Jul 2008 | B2 |
8078975 | Sprague et al. | Dec 2011 | B2 |
8150942 | Kindberg et al. | Apr 2012 | B2 |
8194274 | Babbrah et al. | Jun 2012 | B2 |
20020176116 | Rhoads et al. | Nov 2002 | A1 |
20030028503 | Giuffrida et al. | Feb 2003 | A1 |
20050224571 | Kelley | Oct 2005 | A1 |
20100182631 | King et al. | Jul 2010 | A1 |
20100328726 | Babbrah | Dec 2010 | A1 |
20140085649 | Hohensee et al. | Mar 2014 | A1 |
20140211264 | Sirigiri et al. | Jul 2014 | A1 |
Number | Date | Country |
---|---|---|
1603059 | Dec 2005 | EP |
Entry |
---|
Aura, T. et al., Scanning Electronic Documents for Personally Identifiable Information, (Research Paper) ˜ WP °06, Oct. 30, 2006. |
Number | Date | Country | |
---|---|---|---|
20170242641 A1 | Aug 2017 | US |