US7777902B2 - System and method for generating resolution-independent output via visual tree object - Google Patents
System and method for generating resolution-independent output via visual tree object Download PDFInfo
- Publication number
- US7777902B2 US7777902B2 US10/848,002 US84800204A US7777902B2 US 7777902 B2 US7777902 B2 US 7777902B2 US 84800204 A US84800204 A US 84800204A US 7777902 B2 US7777902 B2 US 7777902B2
- Authority
- US
- United States
- Prior art keywords
- output
- visual tree
- tree object
- visual
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1207—Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
- G06F3/1256—User feedback, e.g. print preview, test print, proofing, pre-flight checks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
Definitions
- the invention relates to the field of computing, and more particularly to a platform for generating a universal visual tree object which may be accepted by an operating system or other resource to condition and prepare printed page or other output, with no dependencies on output resolution or requiring special preparation by the source application sending the object to a printer or other output device.
- generating a printed page or other output typically begins with an application such as a word processing package, presentation package, spreadsheet or other application generating a document, slide show, spreadsheet or other file, object or data to send to a printer or other output device.
- an application such as a word processing package, presentation package, spreadsheet or other application generating a document, slide show, spreadsheet or other file, object or data to send to a printer or other output device.
- the application usually accesses an application programming interface (API) in the operating system to transmit that file to the operating system for output spooling and processing.
- API application programming interface
- the application may be required to conform to the API for instance by passing constituent text, numerical, graphical or other data as well as arguments and variables related to the resolution, font, page size and other characteristics of the output file.
- the API may then invoke other resources of the operating system to serialize or spool the file for transmission to the printer or other output device.
- the operating system may communicate the spooled file or other data to a printer driver, for example a software interpreter or commands and functions, resident in the operating system or supplied by the hardware manufacturer.
- the printer driver may then transmit the resulting processed output data to the printer hardware via a serial, parallel or other connection.
- the printer or other output device may then process the received document or other object to generate a printed page, for instance using a print engine containing routines, fonts, logic control and other information which is embedded in the printer.
- the invention overcoming these and other problems in the art relates in one regard to a system and method for generating resolution-independent output via a visual tree object, in which an application or other source may create, store and manipulate an abstracted visual tree object.
- the application or other source may transmit that visual tree object to an operating system for print or other output conditioning, for instance to parse that object to spool or serialize the content.
- the conditioned visual tree object may be communicated to a printer, copy machine or other output device in that form, for printing or other output.
- the visual tree object may retain its resolution independence throughout the print output process.
- the operating system and related resources may therefore directly receive and manipulate the visual tree object without reliance on an intermediate API or similar interface, and applications need not conform file parameters to API requirements. Because the same visual tree object is used for on-screen visual display as well as for printing and other output activity, the ability to match visually perceived displays to printed or other output is greatly enhanced.
- FIG. 1 illustrates a printing output process, according to known print technologies.
- FIG. 2 illustrates an environment in which a platform for generating resolution-independent visual tree object may operate, according to embodiments of the invention.
- FIG. 3 illustrates an example of a visual tree object generated for output purposes, according to embodiments of the invention.
- FIG. 4 illustrates a flowchart of overall output processing using a visual tree object, according to embodiments of the invention.
- FIG. 2 illustrates an architecture in which a system and method for may operate, according to an embodiment of the invention.
- a user may operate a client 108 using a user interface 110 to execute one or more application 112 , and generate an output from printer 102 or other output device.
- the application 112 may be or include, for example, a word processing application, a spreadsheet or database application, a slide show application, a browser or email application, an image editing or other graphical application, or other application, package or utility which may generate a visual tree object 114 for output.
- the visual tree object 114 may in embodiments be or include a hierarchical data schema encapsulating a screen, text file, image file or other object for printing, facsimile transmission, copying or other output.
- the visual tree object 114 may be encoded, for example, in extensible markup language (XML) or other code, instructions or formats.
- the application 112 may build the visual tree object 114 based on the textual, graphical or other elements of the file or content which the user has generated in application 112 .
- application 112 may as shown operate on a graphical image, textual or other content, whose elements or components may be enumerated in a tree-style or hierarchical data object.
- the application 112 may communicate the visual tree object 114 or other output content to an operating system 126 operating on client 108 , to condition and transmit that content to printer 102 for printing or other output.
- the visual tree object 114 may be transmitted to a print manager 116 , which may contain control logic for initiating and generating printed or other output.
- print manager 116 may be or include a built-in facility within operating system 126 , which however does not require or depend on the presentation of APIs to application 112 to conduct printing setup and output operations.
- the visual tree object 114 may be, include or be embedded in or associated with an electronic document of the type described in the aforementioned copending U.S. patent application Ser. No. 10/836,327, entitled “Document Markup Methods and Systems”, or others.
- Print manager 116 may in turn communicate with a spool engine 118 .
- Spool engine 118 may contain logic or intelligence to serialize or otherwise decompose the visual tree object 114 for transmission to the printer or other output device as encoded visual tree object 122 .
- Spool engine 118 may likewise be hosted or included within operating system 126 .
- Spool engine 118 may communicate the encoded visual tree object 114 to a driver 120 , which may be or include general or specific codes or routines to drive the encoded visual tree object 122 to printer 102 for printing or other output.
- the driver 120 may transit the encoded visual tree object 114 to the printer over a connection such as a serial connection, a parallel connection, a universal serial bus (USB) connection, a wireless connection or other port or connection.
- the printer 102 may receive the encoded visual tree object 122 for processing and output.
- the printer 102 may contain a print engine 104 including an interpreter 106 or other print control logic, which may parse the visual tree object 122 and generate pixels or other output to be printed on pages, for example via a line or other output buffer.
- interpreter 106 may be configured to decode electronic documents or commands of the type described in the aforementioned U.S. patent application Ser. No. 10/836,327, entitled “Document Markup Methods and Systems”, or others.
- FIG. 3 shows an exemplary visual tree object 114 , including a set of components 124 illustratively including a set of descending nodes describing or encapsulating a graphical object scene (OBJ_OceanScene).
- the root node may descend or connect to various constituent nodes, each containing elements of the content displayed on user interface 110 and/or directed for output on printer 102 or other output device.
- each of the nodes in the set of components 124 may be or include graphical, character, textual, font, effect or other content, code or data.
- the visual tree object 114 may be built in XML or XML-based code, or in other code or formats.
- print manager 116 and other resources of operating system 126 may accept the visual tree object 114 directly, without an intermediate API or other mediating interface, application 112 or other source of the content to be printed need not attempt to process or conform the content for output. Again, since both the displayed visual content viewed by the user and the printed or other output is generated from the same visual tree object 114 , perceived output consistency may be significantly enhanced.
- the visual tree object 114 may be constructed in a resolution-independent format.
- the scaling and other conditioning of the content for printing or outputting the visual tree object 114 on a given printer 102 may instead be performed in printer manager 116 , spool engine 118 or other operating system or other resources.
- electronic documents of the type described in copending U.S. patent application Ser. No. 10/836,327, entitled “Document Markup Methods and Systems” or others may contain intermediate language or other interpretable or executable code, which may in one regard encode instructions for scaling, sizing, font or other content or effects.
- print manager 116 may store a visual tree object 114 before or after it has been printed or otherwise output to a file. A viewer tool or other application or resource may then be able to view that object in the form in which it was displayed, printed or otherwise processed or output, for instance to preview, print or otherwise manipulate that object at a later time.
- FIG. 4 illustrates a flowchart of overall print or other output processing using a visual tree object, according to embodiments of the invention.
- processing may begin.
- application 112 or other program or other source may generate an output object for printing or other output, such as for example a word processing document or file, a slide in a slide show application, a digital photograph or other content.
- the output object may be assembled into a visual tree object 114 , for instance by the application 112 decomposing the output object or content into a set of hierarchical visual elements, or otherwise.
- the visual tree object 114 may be communicated to print manager 116 or other print control logic, for instance hosted in an operating system or other resource.
- the visual tree object 114 may be transmitted to spool engine 118 or other conditioning logic, for instance to generate an encoded visual tree object 122 , for instance containing a corresponding sequence of serialized data or commands.
- the encoded visual tree object 122 may be, include or be embedded in or associated with an electronic document of the type described in the aforementioned U.S. patent application Ser. No. 10/836,327, entitled “Document Markup Methods and Systems”, or otherwise.
- the conditioning performed on visual tree object 114 may in one regard preserve the structure of that object, so that in one regard that change in form of the visual tree object 114 may be thought of as an isomorphic transform.
- the encoded visual tree object 122 may be transmitted to driver 120 , such as a printer driver or other output interface or resource.
- the encoded visual tree object 122 may be transmitted to printer 102 or other output device, for instance via a serial port, parallel port, USB connection, wireless connection or other port or connection.
- the encoded visual tree object 122 may be received in printer 102 or other output device, for instance being stored into electronic memory or otherwise.
- the encoded visual tree object 122 may be interpreted, executed, decoded or otherwise processed in print engine 104 of printer 102 , for example rasterizing an image object or initiating fonts, routines, effects or other data.
- the printed page or other physical or media output may be generated, for instance on paper or other media.
- processing may repeat, return to a prior processing point, jump to a further processing point or end.
- the visual tree object 114 may contain other internal structures, such as three-dimensional trees or lattices, four (or more) dimensional objects, or other configurations structures.
- Other hardware, software or other resources described as singular may in embodiments be distributed, and similarly in embodiments resources described as distributed may be combined.
- the visual tree object 114 may originate from other sources, such as distributed Web or other applets, be read from media, downloaded from the Internet or be derived or receive from other sources. The scope of the invention is accordingly intended to be limited only by the following claims.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
Claims (9)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/848,002 US7777902B2 (en) | 2004-05-03 | 2004-05-19 | System and method for generating resolution-independent output via visual tree object |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US56717304P | 2004-05-03 | 2004-05-03 | |
| US10/848,002 US7777902B2 (en) | 2004-05-03 | 2004-05-19 | System and method for generating resolution-independent output via visual tree object |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20050243333A1 US20050243333A1 (en) | 2005-11-03 |
| US7777902B2 true US7777902B2 (en) | 2010-08-17 |
Family
ID=35186729
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US10/848,002 Active 2027-09-09 US7777902B2 (en) | 2004-05-03 | 2004-05-19 | System and method for generating resolution-independent output via visual tree object |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US7777902B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8645823B1 (en) * | 2008-10-28 | 2014-02-04 | Adobe Systems Incorporated | Converting static websites to resolution independent websites in a web development environment |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103107898A (en) * | 2011-11-09 | 2013-05-15 | 阿尔卡特朗讯公司 | Method, device and system for sending or receiving multiple managed objects simultaneously |
Citations (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5644683A (en) * | 1995-03-03 | 1997-07-01 | Hewlett-Packard Company | Print mode and system to alleviate wait-banding |
| US20020075261A1 (en) * | 2000-12-18 | 2002-06-20 | Ibm Corporation | Tightened bounding volumes for BSP-trees |
| US20020095422A1 (en) * | 2001-01-17 | 2002-07-18 | Burrows Kevin W. | Method for creating a balanced binary tree |
| US20020111963A1 (en) * | 2001-02-14 | 2002-08-15 | International Business Machines Corporation | Method, system, and program for preprocessing a document to render on an output device |
| US6570587B1 (en) * | 1996-07-26 | 2003-05-27 | Veon Ltd. | System and method and linking information to a video |
| US6625615B2 (en) * | 2000-12-19 | 2003-09-23 | International Business Machines Corporation | Data processing system and method for multi-level directory searches |
| US20030202010A1 (en) * | 2002-04-26 | 2003-10-30 | Kerby George H. | Retention of job settings based on data type |
| US6654507B2 (en) * | 2000-12-14 | 2003-11-25 | Eastman Kodak Company | Automatically producing an image of a portion of a photographic image |
| US6671853B1 (en) * | 1999-07-15 | 2003-12-30 | International Business Machines Corporation | Method and system for selectively streaming markup language documents |
| US20040179221A1 (en) * | 2002-12-12 | 2004-09-16 | Masakatsu Endo | Image processing method and image processing system using the same |
| US20040194020A1 (en) * | 2003-03-27 | 2004-09-30 | Beda Joseph S. | Markup language and object model for vector graphics |
| US20040246514A1 (en) * | 2003-06-05 | 2004-12-09 | James Clough | Systems and methods for printing using a public printing service |
| US20050046887A1 (en) * | 2003-09-01 | 2005-03-03 | Konica Minolta Business Technologies, Inc. | Image processing apparatus for receiving a request relating to image processing from an external source and executing the received request |
| US20050108649A1 (en) * | 2003-10-15 | 2005-05-19 | Konica Minolta Business Technologies, Inc. | Control apparatus, control instruction apparatus, control program product and control instruction program product for transmitting/receiving data described in extensible markup language |
| US20050141941A1 (en) * | 2002-04-05 | 2005-06-30 | Hideyuki Narusawa | Device and its operation method for enabling printer to print page of desired design |
| US6952286B2 (en) * | 2000-12-07 | 2005-10-04 | Eastman Kodak Company | Doubleprint photofinishing service with the second print having subject content-based modifications |
| US7292255B2 (en) * | 2000-05-31 | 2007-11-06 | Canon Kabushiki Kaisha | Image data acquisition optimisation |
-
2004
- 2004-05-19 US US10/848,002 patent/US7777902B2/en active Active
Patent Citations (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5644683A (en) * | 1995-03-03 | 1997-07-01 | Hewlett-Packard Company | Print mode and system to alleviate wait-banding |
| US6570587B1 (en) * | 1996-07-26 | 2003-05-27 | Veon Ltd. | System and method and linking information to a video |
| US6671853B1 (en) * | 1999-07-15 | 2003-12-30 | International Business Machines Corporation | Method and system for selectively streaming markup language documents |
| US7292255B2 (en) * | 2000-05-31 | 2007-11-06 | Canon Kabushiki Kaisha | Image data acquisition optimisation |
| US6952286B2 (en) * | 2000-12-07 | 2005-10-04 | Eastman Kodak Company | Doubleprint photofinishing service with the second print having subject content-based modifications |
| US6654507B2 (en) * | 2000-12-14 | 2003-11-25 | Eastman Kodak Company | Automatically producing an image of a portion of a photographic image |
| US20020075261A1 (en) * | 2000-12-18 | 2002-06-20 | Ibm Corporation | Tightened bounding volumes for BSP-trees |
| US6625615B2 (en) * | 2000-12-19 | 2003-09-23 | International Business Machines Corporation | Data processing system and method for multi-level directory searches |
| US20020095422A1 (en) * | 2001-01-17 | 2002-07-18 | Burrows Kevin W. | Method for creating a balanced binary tree |
| US20020111963A1 (en) * | 2001-02-14 | 2002-08-15 | International Business Machines Corporation | Method, system, and program for preprocessing a document to render on an output device |
| US20050141941A1 (en) * | 2002-04-05 | 2005-06-30 | Hideyuki Narusawa | Device and its operation method for enabling printer to print page of desired design |
| US20030202010A1 (en) * | 2002-04-26 | 2003-10-30 | Kerby George H. | Retention of job settings based on data type |
| US20040179221A1 (en) * | 2002-12-12 | 2004-09-16 | Masakatsu Endo | Image processing method and image processing system using the same |
| US20040194020A1 (en) * | 2003-03-27 | 2004-09-30 | Beda Joseph S. | Markup language and object model for vector graphics |
| US20040246514A1 (en) * | 2003-06-05 | 2004-12-09 | James Clough | Systems and methods for printing using a public printing service |
| US20050046887A1 (en) * | 2003-09-01 | 2005-03-03 | Konica Minolta Business Technologies, Inc. | Image processing apparatus for receiving a request relating to image processing from an external source and executing the received request |
| US20050108649A1 (en) * | 2003-10-15 | 2005-05-19 | Konica Minolta Business Technologies, Inc. | Control apparatus, control instruction apparatus, control program product and control instruction program product for transmitting/receiving data described in extensible markup language |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8645823B1 (en) * | 2008-10-28 | 2014-02-04 | Adobe Systems Incorporated | Converting static websites to resolution independent websites in a web development environment |
Also Published As
| Publication number | Publication date |
|---|---|
| US20050243333A1 (en) | 2005-11-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6538760B1 (en) | Method and apparatus for generating a production print stream from files optimized for viewing | |
| EP2482198B1 (en) | System and method for identifying line breaks | |
| US5353388A (en) | System and method for document processing | |
| US7466442B2 (en) | Printing system and method for customization of a print job | |
| US10008009B1 (en) | Method for generating dynamic vector graphics | |
| US20020111963A1 (en) | Method, system, and program for preprocessing a document to render on an output device | |
| EP1538534A2 (en) | Generation of a PPML template from a PDF document | |
| US9304727B2 (en) | Non-transitory computer-readable storage medium and method of adding print feature to output of printer driver | |
| JP5531804B2 (en) | Method and structure for maintaining node order when XML data is stored in a key-value data structure | |
| AU2012216550B2 (en) | Cloud assisted rendering | |
| KR20110088521A (en) | Label printer API using program scripting language | |
| US8582164B2 (en) | Generating merged documents | |
| US8325368B2 (en) | Print information conversion apparatus, printing apparatus, printing system, and computer readable medium | |
| CN106897066B (en) | Network application operation method and device based on POS payment terminal | |
| US8537388B2 (en) | Information processing apparatus for image processing on a character stamp by embedding an image rendering a character string of a stamp | |
| JP6632424B2 (en) | Information processing apparatus, program and control method | |
| EP1622012A2 (en) | System and method for generating embedded resource updates for output device | |
| US7777902B2 (en) | System and method for generating resolution-independent output via visual tree object | |
| CN113805874B (en) | Front-end code segment dynamic rendering method and system suitable for multi-frame language | |
| US8619284B2 (en) | Method and apparatus for including converted drawing commands in a print data file | |
| JP2007304764A (en) | Image formation control data, printer, print server device, and print client device | |
| US9626131B2 (en) | Print data processing method, print data processing apparatus, and storage medium for processing print data according to print setting information in the print data | |
| US20140293345A1 (en) | Non-transitory computer-readable storage medium and localization method for printer driver | |
| US9052864B1 (en) | Method and apparatus for processing a page description language document | |
| US7880918B2 (en) | System and method for generating unified image output |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TERNASKY, JOSEPH D.;PARKER, ROBERT L.C.;BYRD, MICHAEL M.;AND OTHERS;REEL/FRAME:015721/0886;SIGNING DATES FROM 20041106 TO 20050214 Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TERNASKY, JOSEPH D.;PARKER, ROBERT L.C.;BYRD, MICHAEL M.;AND OTHERS;SIGNING DATES FROM 20041106 TO 20050214;REEL/FRAME:015721/0886 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034541/0477 Effective date: 20141014 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |