systems and methods are provided for indexing in advanced Function Presentation (afp) systems. One embodiment is a system that includes a memory and a controller. The controller is able to load advanced Function Presentation (afp) print data, to identify afp objects within the print data, to correlate the afp objects with contextual information describing the afp objects, and to insert the contextual information for the afp objects into afp Object Container Data (ocd) structures within afp index Elements (iels) of an afp index. The memory is able to store the index.
|
1. A system comprising:
a controller operable to load advanced Function Presentation (afp) print data, to identify afp objects within the print data, to correlate the afp objects with contextual information describing the afp objects, and to insert the contextual information for the afp objects into afp Object Container Data (ocd) structures within afp index Elements (iels) of an afp index; and
a memory operable to store the index,
wherein the contextual information for each afp object is organized as a multi-level hierarchy of data, and the controller is further operable to insert contextual information for each afp object into an ocd within the iel, while preserving the organization of the contextual information.
8. A system comprising:
a memory; and
a controller operable to load advanced Function Presentation (afp) print data into the memory, to access an afp index for the afp print data, to extract contextual information describing afp objects from within afp Object Container Data (ocd) structures within afp index Elements (iel) of the index, and to provide the contextual information via at least one of a display, an audio device, or a multimedia device,
wherein the contextual information for each afp object is organized as a multi-level hierarchy of data, and the controller is further operable to insert contextual information for each afp object into an ocd within the iel, while preserving the organization of the contextual information.
15. A non-transitory computer readable medium embodying programmed instructions which, when executed by a processor, are operable for performing a method comprising:
loading advanced Function Presentation (afp) print data;
identifying afp objects within the print data;
correlating the afp objects with contextual information describing the afp objects;
inserting the contextual information for the afp objects into afp Object Container Data (ocd) structures within afp index Elements (iels) of an afp index, wherein the contextual information for each afp object is organized as a multi-level hierarchy of data, and the controller is further operable to insert contextual information for each afp object into an ocd within the iel, while preserving the organization of the contextual information; and
storing the index in a memory.
2. The system of
the controller is further operable to insert a byte offset indicator into each iel, wherein each byte offset indicator for an iel describes a number of bytes of the afp print data to skip before reaching a page that stores an afp object indicated by the iel.
3. The system of
the controller is further operable to insert a byte offset indicator into each iel, wherein each byte offset indicator for an iel describes a number of bytes of the afp print data to skip before reaching an afp object indicated in the iel.
4. The system of
the contextual information is selected from the group consisting of operational metadata and descriptive metadata.
5. The system of
the contextual information comprises text describing contents of a graphical object in the afp print data.
6. The system of
each ocd includes contextual information in an Extensible Markup Language (XML) format.
7. The system of
the contextual information comprises Extensible Metadata Platform (XMP) data.
9. The system of
the controller is further operable to correlate the contextual information with the afp objects by following a byte offset indicator within each iel, wherein each byte offset indicator for an iel describes a number of bytes of the afp print data to skip before reaching a page that stores an afp object indicated by the iel.
10. The system of
the controller is further operable to correlate the contextual information with the afp objects by following a byte offset indicator within each iel, wherein each byte offset indicator for an iel describes a number of bytes of the afp print data to skip before reaching an afp object indicated in the iel.
11. The system of
the contextual information is selected from the group consisting of operational metadata and descriptive metadata.
12. The system of
the contextual information comprises text describing contents of a graphical object in the afp print data.
13. The system of
each ocd includes contextual information in an Extensible Markup Language (XML) format.
14. The system of
the contextual information comprises Extensible Metadata Platform (XMP) data.
16. The medium of
inserting a byte offset indicator into each iel, wherein each byte offset indicator for an iel describes a number of bytes of the afp print data to skip before reaching a page that stores an afp object indicated by the iel.
17. The medium of
inserting a byte offset indicator into each iel, wherein each byte offset indicator for an iel describes a number of bytes of the afp print data to skip before reaching an afp object indicated in the iel.
18. The medium of
each ocd includes contextual information in an Extensible Markup Language (XML) format.
19. The medium of
the contextual information comprises Extensible Metadata Platform (XMP) data.
|
The invention relates to the field of printing, and in particular, to stored print data.
Advanced Function Presentation (AFP) is a format used to store print data for print jobs. According to AFP standards, a print job is divided into AFP objects. Each AFP object may define a part of the print job, such as a document, a page, an image, text, etc. Furthermore, AFP objects may be nested within each other. For example, an AFP document object may include multiple AFP page objects, and each AFP page object may include multiple text and/or graphical objects.
Each AFP print job may be associated with metadata. Metadata is contextual information used to describe the print job. For example, metadata may indicate an author of the print job, may indicate a preferred rasterization algorithm to use while processing the print job, or may indicate any other suitable characteristic of the print job. As presently required according to AFP standards, metadata for an AFP print job is stored within an index as a series of one or more AFP-defined Index Elements (IELs). Each IEL includes Tagged Logical Elements (TLEs) that each contain a single name-value attribute pair.
Name-value pairs may not be an optimal format for each and every form of metadata which a user may wish to add to a print job. Therefore, users continue to desire enhanced flexibility in defining contextual information for a print job.
Embodiments described herein utilize AFP Object Container Data (OCD) structures to store metadata for IELs in AFP indices. OCDs allow for information to be stored in any desirable format. Thus, IELs described herein may use OCDs to include tiered/nested contextual information, on an object-by-object basis, for each print job. These enhancements may be beneficial in a variety of scenarios, such as in situations where there are multiple versions of text (e.g., one version per language) that may be used to describe an AFP object.
One embodiment is a system that includes a memory and a controller. The controller is able to load Advanced Function Presentation (AFP) print data, to identify AFP objects within the print data, to correlate the AFP objects with contextual information describing the AFP objects, and insert the contextual information for the AFP objects into AFP Object Container Data (OCD) structures within AFP Index Elements (IELs) of an AFP index. The memory is able to store the index.
Another embodiment is a system that includes a memory and a controller. The controller is able to load Advanced Function Presentation (AFP) print data into the memory, to access an AFP index for the AFP print data, to extract contextual information describing AFP objects from within AFP Object Container Data (OCD) structures within AFP Index Elements (IEL) of the index, and to provide the contextual information via at least one of a display, an audio device, or a multimedia device.
Another embodiment is a non-transitory computer readable medium embodying programmed instructions which, when executed by a processor, are operable for performing a method. The method includes loading Advanced Function Presentation (AFP) print data, identifying AFP objects within the print data, correlating the AFP objects with contextual information describing the AFP objects, and inserting the contextual information for the AFP objects into AFP Object Container Data (OCD) structures within AFP Index Elements (IELs) of an AFP index. The method also includes storing the index in the memory.
Another embodiment is a method. The method includes loading Advanced Function Presentation (AFP) print data, identifying AFP objects within the print data, correlating the AFP objects with contextual information describing the AFP objects, and inserting the contextual information for the AFP objects into AFP Object Container Data (OCD) structures within AFP Index Elements (IELs) of an AFP index. The method also includes storing the index in the memory.
Other exemplary embodiments (e.g., methods and computer-readable media relating to the foregoing embodiments) may be described below.
Some embodiments of the present invention are now described, by way of example only, and with reference to the accompanying drawings. The same reference number represents the same element or the same type of element on all drawings.
The figures and the following description illustrate specific exemplary embodiments of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within the scope of the invention. Furthermore, any examples described herein are intended to aid in understanding the principles of the invention, and are to be construed as being without limitation to such specifically recited examples and conditions. As a result, the invention is not limited to the specific embodiments or examples described below, but by the claims and their equivalents.
AFP indexing system 100 has been enhanced to create and/or read AFP Index Elements (IELs) that include Object Container Data (OCD) structures inside of them. Using an AFP-defined OCD structure instead of a TLE, which would normally be required under the AFP Mixed Object Document Context Architecture (MO:DCA) standards, allows for greater flexibility in defining and processing the contextual information stored in the index. As used herein, the terms “contextual information” or “metadata” refer to information that describes an AFP object. This information may be classified as descriptive or operational in nature. Operational metadata is imperative, because it recites a series of commands that must be followed by a printing system when processing associated print data, even though the metadata itself does not appear on the final printed page. Descriptive metadata is different than operational metadata because, while descriptive metadata may provide contextual information (such as processing “hints” that suggest how to rasterize an image), descriptive metadata does not require that print data be processed in a specific way.
In this embodiment, AFP indexing system 100 comprises controller 112, persistent memory 114, and Random Access Memory (RAM) 116. Controller 112 manages the operations of computer 110, and may be implemented, for example, as custom circuitry or as a processor executing programmed instructions. Controller 112 may use persistent memory 114 (e.g., a disk drive) to store print data and/or indices for later retrieval. Controller 112 may use RAM 116 in order to actively load and process portions of AFP print data kept in persistent memory 114. Furthermore, controller 112 may utilize display 120 (e.g., a monitor, screen, etc.) in order to visually show indices or portions of print data to a user. Additional devices, such as audio devices or multimedia devices (e.g., televisions, etc.) may be used to provide information as desired.
The particular arrangement, number, and configuration of components described herein is exemplary and non-limiting. Illustrative details of the operation of AFP indexing system 100 will be discussed with regard to
In step 202, controller 112 loads AFP print data from persistent memory 114 into RAM 116. In step 204, controller 112 identifies AFP objects within the print data. AFP objects may be identified, for example, based on the presence of AFP BEGIN structured fields within the print data.
In step 206, controller 112 correlates the identified AFP objects with contextual information that describes the AFP objects. This contextual information, or “metadata” may be descriptive or operational. For example, the contextual information may describe an algorithm used to compress an image, may include alternative text that describes an image, may include an alternate language version of text stored in an AFP object, etc. In some embodiments, contextual information may be stored in one language, and then translated by controller 112 before it is presented to the user. For example, contextual information that was originally written in French may be translated to English before it is presented.
The contextual information may be received from a user, retrieved from a database, or otherwise acquired by controller 112. Each piece of contextual information may be correlated with an AFP object based on a name that matches the AFP object, a byte offset indicating a location of the AFP object within the print data, a page location that matches the AFP object, a type that matches the AFP object, etc.
In step 208, controller 112 inserts the contextual information for each AFP object into at least one Object Container Data (OCD) structure within an AFP Index Element (IEL) of an AFP index for the print data. As described herein, an OCD may be considered to be within an IEL if the OCD immediately follows the IEL (and is therefore at the same location a TLE would otherwise be expected to occupy, meaning that the OCD is associated with the IEL). An OCD may also be considered to be within an IEL if the IEL is defined using BEGIN and END structured fields, and the OCD is placed between the BEGIN and END structured fields for the IEL.
Because the contextual information is kept within an OCD and is not kept within a TLE, the contextual information may be stored in any suitable format and is not limited to name-value pairs. For example, the contextual information may be stored in an Extensible Markup Language (XML) format, such as the Extensible Metadata Platform (XMP) standard. Furthermore, since the contextual information is not limited to name-value pairs, the contextual information may be stored as a multi-level hierarchy. For example, the contextual information within an OCD may include metadata for an AFP document object, and the metadata for the document object may include metadata for an AFP text object nested within the document object.
In step 210 controller 112 stores the index in persistent memory 114. The index may be maintained within the AFP print data itself, or may be stored as an entirely separate file.
In step 304, controller 112 analyzes Object Container Data (OCD) kept within an Index Element (IEL) of the index, and in step 306 controller 112 identifies an AFP object associated with contextual information stored within an OCD. The AFP object within the print job may be identified, for example, based upon a byte offset provided within the IEL, based upon a name for the AFP object indicated in the OCD, etc.
In step 308, controller 112 presents the AFP object, based on the contextual information. For example, if the contextual information provides rendering hints for the AFP object, controller 112 may process the AFP object based on the rendering hints before presenting it. In another example, the contextual information may include alternative text for an AFP object, which may be presented alongside or in place of the AFP object when the AFP object is printed or displayed on a monitor/screen. In yet another example, the contextual information may indicate a display order for AFP objects.
Using methods 200 and 300 described above, indices for AFP print jobs may be generated and used in a manner that allows contextual information to be stored with greater flexibility. This in turn provides a benefit by improving the variety of situations in which AFP print jobs may be used.
In the following example, additional processes, systems, and methods are described in the context of an indexing system for AFP print jobs. Assume, for this example, that an index is being used to store contextual information for an AFP print job representing a quarterly report. The AFP index is stored as a separate file from the file that stores the print job.
Embodiments disclosed herein can take the form of software, hardware, firmware, or various combinations thereof. In one particular embodiment, software is used to direct a processing system of AFP indexing system 100 to perform the various operations disclosed herein.
Computer readable storage medium 812 can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor device. Examples of computer readable storage medium 812 include a solid state memory, a magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W), and DVD.
Processing system 800, being suitable for storing and/or executing the program code, includes at least one processor 802 coupled to program and data memory 804 through a system bus 850. Program and data memory 804 can include local memory employed during actual execution of the program code, bulk storage, and cache memories that provide temporary storage of at least some program code and/or data in order to reduce the number of times the code and/or data are retrieved from bulk storage during execution.
Input/output or I/O devices 806 (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled either directly or through intervening I/O controllers. Network adapter interfaces 808 may also be integrated with the system to enable processing system 800 to become coupled to other data processing systems or storage devices through intervening private or public networks. Modems, cable modems, IBM Channel attachments, SCSI, Fibre Channel, and Ethernet cards are just a few of the currently available types of network or host interface adapters. Display device interface 810 may be integrated with the system to interface to one or more display devices, such as printing systems and screens for presentation of data generated by processor 802.
Although specific embodiments were described herein, the scope of the invention is not limited to those specific embodiments. The scope of the invention is defined by the following claims and any equivalents thereof.
Hohensee, Reinhard, Lewis, Harry, Lotz, Michael
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5813020, | Jul 31 1995 | International Business Machines Corporation | Method and system for dynamic presentation parameter override during document interchange |
8108380, | Mar 03 2008 | Oracle International Corporation | Inclusion of metadata in indexed composite document |
8397162, | Mar 03 2008 | Oce Printing Systems GmbH | Method, printing system and computer program for generating and processing document data streams |
8484221, | Feb 01 2010 | MICRO FOCUS LLC | Adaptive routing of documents to searchable indexes |
20080143169, | |||
20100241952, | |||
20120246559, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 29 2014 | HOHENSEE, REINHARD | Ricoh Company, LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032163 | /0038 | |
Feb 03 2014 | LOTZ, MICHAEL | Ricoh Company, LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032163 | /0038 | |
Feb 06 2014 | Ricoh Company, Ltd. | (assignment on the face of the patent) | / | |||
Feb 06 2014 | LEWIS, HARRY | Ricoh Company, LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032163 | /0038 |
Date | Maintenance Fee Events |
Apr 08 2024 | REM: Maintenance Fee Reminder Mailed. |
Sep 23 2024 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Aug 18 2023 | 4 years fee payment window open |
Feb 18 2024 | 6 months grace period start (w surcharge) |
Aug 18 2024 | patent expiry (for year 4) |
Aug 18 2026 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 18 2027 | 8 years fee payment window open |
Feb 18 2028 | 6 months grace period start (w surcharge) |
Aug 18 2028 | patent expiry (for year 8) |
Aug 18 2030 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 18 2031 | 12 years fee payment window open |
Feb 18 2032 | 6 months grace period start (w surcharge) |
Aug 18 2032 | patent expiry (for year 12) |
Aug 18 2034 | 2 years to revive unintentionally abandoned end. (for year 12) |