WO2003027829A1 - A printing system - Google Patents

A printing system Download PDF

Info

Publication number
WO2003027829A1
WO2003027829A1 PCT/GB2002/004294 GB0204294W WO03027829A1 WO 2003027829 A1 WO2003027829 A1 WO 2003027829A1 GB 0204294 W GB0204294 W GB 0204294W WO 03027829 A1 WO03027829 A1 WO 03027829A1
Authority
WO
WIPO (PCT)
Prior art keywords
formatting
print
xml
template
file
Prior art date
Application number
PCT/GB2002/004294
Other languages
French (fr)
Inventor
Roger Lee Buis
Steven Mark Gebert
Reinhard Heinrich Hohensee
Original Assignee
International Business Machines Corporation
Ibm United Kingdom Limited
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation, Ibm United Kingdom Limited filed Critical International Business Machines Corporation
Priority to EP02758656A priority Critical patent/EP1430387B1/en
Priority to KR1020047000703A priority patent/KR100576030B1/en
Priority to AT02758656T priority patent/ATE310988T1/en
Priority to CA002446126A priority patent/CA2446126C/en
Priority to JP2003531304A priority patent/JP2005504375A/en
Priority to DE60207593T priority patent/DE60207593T2/en
Publication of WO2003027829A1 publication Critical patent/WO2003027829A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1257Configuration of print job parameters, e.g. using UI at the client by using pre-stored settings, e.g. job templates, presets, print styles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Definitions

  • This invention relates in general to printing systems .
  • Extensible Markup Language is a text-based markup language that is designed to make information self-describing. XML is designed to improve the functionality of the Web by providing more flexible and adaptable information identification. It is called extensible because it is not a fixed format like HTML (a single, predefined markup language) . Instead, XML is actually a "metalanguage", i.e., a language for describing other languages, which lets you design your own customized markup languages for limitless different types of documents . XML can do this because it is written in SGML, the international standard metalanguage for text markup systems (ISO 8879) .
  • ISO 8879 the international standard metalanguage for text markup systems
  • XML is fast becoming the standard for data interchange on the Web. Indeed, since XML was completed in early 1998 by the World Wide Web Consortium (W3C) , the standard has spread like wildfire through science and into industries . XML is intended to make it easy and straightforward to use SGML on the Web, e.g., easy to define document types, easy to author and manage SGML-defined documents, and easy to transmit and share them across the Web. XML defines an extremely simple dialect of SGML which is completely described in the XML Specification. The goal is to enable XML to be processed in the way that is now possible with HTML. For this reason, XML has been designed for ease of implementation.
  • W3C World Wide Web Consortium
  • HTML As with HTML, data is identified using tags (identifiers enclosed in angle brackets, e.g., ⁇ ...>). Collectively, the tags are known as "markup" . But unlike HTML, XML tags describe what the data means, rather than how to display it, for example, an HTML tag may relate to "displaying data in bold font” (i.e. ⁇ b>... ⁇ /b>) , whereas an XML tag acts like a field name in a computer program by putting a label on a piece of data to identify it (e.g. ⁇ message > ... ⁇ /message>) .
  • a structured document formed of predetermined elements such as a document described by XML is structured only by content and structure.
  • the definition information regarding a style for the document, such as format and attribute information required for display or printed, is defined and administered independently of the document content information.
  • structured information information about the structure of the document
  • style definition information information about style definition
  • the style definition information depends on the analyzed structure and, once obtained, is set as display or print attribute information.
  • the result of such a structure analysis may be represented in a tree structure.
  • the independently defined style definition information is often defined in relation to a set of identifiers (hereinafter referred to as "tags") that indicate the elements of the document structure in terms of the various units of the document .
  • XML can design their own document types using XML, instead of only using HTML and document types can be explicitly tailored to an audience. Thus, authors and designers are free to create their own markup elements. Moreover, information content can be richer and easier to use because the descriptive and hypertext linking abilities of XML are much greater than those of HTML. XML can provide more and better facilities for presentation using stylesheets such as CSS (Cascading Stylesheet Specification) and XSL.
  • stylesheets such as CSS (Cascading Stylesheet Specification) and XSL.
  • HTML In HTML, default styling is built into browsers because the tagset of HTML is predefined and hardwired into browsers.
  • IN XML where you can define your own tagset, browsers cannot know what names are going to be used and what they will mean, so a stylesheet is needed if the formatted text is to be displayed. For example, browsers which read XML will accept and use a CSS stylesheet at a minimum, but you can also use the more powerful XSLT stylesheet language to transform your XML into HTML.
  • the CSS provides a simple syntax for assigning styles to elements, and has been implemented in most browsers.
  • the Extensible Stylesheet Language (XSL) has been created for use specifically with XML.
  • XSL uses XML syntax (an XSL stylesheet is an XML file) and has widespread support from several major vendors, although current browser support is limited. XSL comes in two flavors .
  • XSL is a pure formatting language and needs a text formatter such as FOP or PassiveTeX to create printable output (both can produce PDF) .
  • XSLT T for Transformation
  • XML is a language to specify transformations of XML into HTML either inside the browser or at the server before transmission. It can also specify transformations from one vocabulary of XML to another, and from XML to plaintext.
  • Style sheets originated in publishing and document management applications.
  • XML applications go behind traditional document management and are useful for these applications as well.
  • the SGML approach was to separate the document from its presentation.
  • a document can be published in different forms on any media, e.g. the hardcover edition, pocket edition and CD-ROM edition.
  • documents are "retargetable” : For example, the same document can be published automatically on different media including paper and electronic media.
  • SGML and XML
  • encode high-level semantic information For example, XML markup would identify the title, the paragraphs and the keywords in a document and is specifically not concerned with the font of the title for example.
  • the font, the size and the color are properties of a published document on a given medium.
  • stylesheets Specific instructions on how to prepare the document for certain media are collected in stylesheets . Different stylesheets for print and for the web are used. Different stylesheets may even be used for the hardcover and the pocket editions .
  • An XSL stylesheet is a set of rules where each rule specifies how to format certain elements in the document .
  • the stylesheets have rules for title, paragraphs and keywords.
  • these rules are powerful enough not only to format the document but also to reorganize it, e.g. by moving the title to the front page or extracting the list of keywords. This can lead to exciting applications of XSL outside the realm of traditional publishing.
  • XSL can be used to convert documents between the company-specific markup and a standard one.
  • Style sheets are, as discussed above, separated from documents. Therefore one document can have more than one stylesheet and, conversely, one stylesheet can be shared amongst several documents.
  • the ability to associate several stylesheets to a single document means that the same document can be rendered differently depending on the media.
  • the ability to share a stylesheet between several documents necessitates enforcing a corporate style.
  • stylesheets as described above, to control the rendering, e.g. fonts, colors, leading, margins, typefaces, and other aspects of style, of a Web document without compromising its structure.
  • XSL XSLT processor
  • This processor outputs formatted objects, which are then input to a composer that generates final-form pages. These pages are then converted into a PDL such as PostScript, PDF, or AFP. Nevertheless, stylesheets are cumbersome and do not allow a user to print XML data efficiently and quickly. In a production system, for example, print speeds exceed 1000 pages/minute. Transforming XML data with an XSL stylesheet is processing-intensive and does not support such print speeds .
  • the present invention provides a formatting template for printing at least one file having a plurality of elements, said template comprising a data map format having an associated plurality of descriptors for defining the format of each of said plurality of elements .
  • a formatting template such as a Page Definition is used to format each element of an XML file.
  • the formatting template contains XML descriptors that specify presentation parameters such as position, rotation, font, color, etc.
  • the descriptors are identified by a qualified tag which identifies a description that is used to format the content for the element .
  • the descriptors are indexed using a concatenation of the XML start tags that must be traversed to get to a particular XML element.
  • the qualified tag is generated or modified whenever a start tag is encountered.
  • each of said plurality of elements comprises a plurality of fields processed by a first set of said descriptors .
  • the XML file to be printed is parsed into element contents that can be broken into fields and processed using a chain of field XMDs (XML descriptors) .
  • the element contents are broken into ields either with byte counts or with delimiters .
  • each of said plurality of elements comprises a plurality of attributes processed by a second set of said descriptors.
  • a chain of attribute XMDs are used for formatting attributes, wherein the attributes are broken into fields, the fields being formatted with a chain of field XMDs.
  • the present invention provides a printing system, comprising: a spooler; a print services facility for parsing at least one file having a plurality of elements, formatting the at least one file according to a formatting template, organizing a data stream representing the formatted file and generating a print steam; and a printer for printing the print steam; wherein the formatting template defines a data map format having an associated plurality of descriptors for defining the format of each said plurality of elements.
  • the present invention provides a method for printing at least one file having a plurality of elements, comprising the steps of: placing said at least one file on a server spool; providing a formatting template to a print services facility, wherein the formatting template comprises a data map format having an associated plurality of descriptors for defining the format of each of said plurality of elements; and pulling said at least one file from the server spool for generating a formatted print stream using the formatting template.
  • the method further comprises the steps of : parsing said at least one file into a plurality of elements; for each of said plurality of elements, searching the formatting template for formatting instructions; and in response to a successful searching step, formatting said each element using said formatting instructions .
  • the present invention provides a computer program comprising program code means adapted to perform all the steps of the method described above when said program is run on a compute .
  • the present invention provides a printing system.
  • the printing system includes a spooler for receiving printable information from the print channel, a print services facility for parsing an XML file, formatting the XML file according to a formatting template, the print services facility organizing a data stream representing the formatted XML file and generating a print steam having been formatted using the formatting template and a printer for printing the print steam according to the formatting defined by the formatting template, wherein the formatting template defines a data map format containing XML descriptors defining the formatting for an element of the XML file.
  • the present invention provides a method for printing XML files directly using a formatting template.
  • the method includes placing an XML file to be printed on a server spool, providing a formatting template to a print services facility, wherein the formatting template defines a data map format containing XML descriptors defining the formatting for an element of the XML file and pulling the XML file from the spooler for generating a formatted print stream using the formatting template.
  • the method further includes parsing the XML file to be printed into elemental content, searching the formatting template for formatting instructions for a parsed element content, determining whether the search was successful, formatting the element content using formatting instructions obtained by the search and determining whether the end of the document has been reached.
  • the method further includes continuing to process parsed element content and sending the formatted data stream to a printer.
  • the present invention provides an article of manufacture comprising a program storage medium readable by a computer.
  • the medium tangibly embodies one or more programs of instructions executable by the computer to perform a method for printing XML files directly using a formatting template, wherein the method includes placing an XML file to be printed on a server spool, providing a formatting template to a print services facility, wherein the formatting template defines a data map format containing XML descriptors defining the formatting for an element of the XML file and pulling the XML file from the spooler for generating a formatted print stream using the formatting template.
  • the present invention provides a printing system which includes spooler means for receiving printable information from the print channel, print driver means for parsing an XML file, formatting the XML file according to a formatting means, the print services facility organizing a data stream representing the formatted XML file and generating a print steam having been formatted using the formatting template and printing means for printing the print steam according to the formatting defined by the formatting template, wherein the formatting means defines a data map format containing XML descriptors defining the formatting for an element of the XML file.
  • Fig. 1 illustrates an overview of a printer system
  • Fig. 2 illustrates a more. detailed block diagram of a print device, such as printers and digital copiers;
  • Fig. 3 illustrates the printing of a typical document
  • Fig. 4 illustrates XML printing using a formatting template
  • Fig. 5 illustrates a flow chart of the method for printing XML using the formatting template of Fig. 4.
  • the present invention provides a method and apparatus for printing XML directly using a formatting template.
  • a formatting template such as a Page Definition, is used to format each XML element.
  • the formatting template contains descriptors that specify presentation parameters such as position, rotation, font, color, etc.
  • the descriptors are indexed using a concatenation of the XML tags that must be traversed to get to a particular XML element.
  • Fig. 1 illustrates an overview of a printer system 100.
  • the printer system 100 includes a print server 110 for receiving the input print data stream 112, a print spooler 114 for controlling the spooling of data files, and presentation services 120 for generating appropriate commands to drive an attached printer 130 using a bi-directional print data stream 150.
  • the spooler 114 receives printable information from the print channel.
  • the print server 110 may also include other components that are not shown for performing basic tasks, such as monitoring and configuring attached printers, and providing print job management.
  • the printer server 110 converts the input print data steam 112 to a data steam supported by the printer 130.
  • Fig. 2 illustrates a more detailed block diagram of a print device 200, such as printers and digital copiers, according to the present invention.
  • Sub-units can also be a set of definable logical processes, such as interpreters for page description languages or command processors that set various operating modes of the print device.
  • Fig. 2 illustrates the three basic functions of the print device-: (1) the flow of a print file into an interpreter and onto the marker, (2) the flow of media through the marker and (3) the auxiliary sub-units that control and facilitate the two flows.
  • the flow of the print data comes through a physical connection 210 on which some form of transport protocol stack is running to a print device interface 212.
  • the data provided by the transport protocol (interface) is sent to the input of an interpreter 216.
  • the interpreter 216 is responsible for the conversion of a description of intended print instances into images that are to be marked on the media.
  • a print device may have one or more interpreters.
  • the media 260 initially resides in Input sub-units 220 from which the media 260 is selected and then transported via a Media Path 250 first to a Marker 230 and then onto an Output 240 with (optionally) some finishing operations 270 being performed.
  • the Input ' 220 is a mechanism that feeds media to be marked on into the print device. There may be as many Inputs 220 as there are distinctly selectable input "addresses”.
  • the Media 260 is an extension of the Input 220 which represents that media that is in an Input 220.
  • the Output 240 is a mechanism that receives media that has been marked on.
  • a print device may contain one or more Output mechanisms 240.
  • a finisher 270 is a unit that performs some operations on the media other than marking. Some examples of finishing processes are stapling, punching, binding, inserting, or folding. The optional finisher 270 can be used to apply highlight color, an image or MICR (magnetic ink character recognition) ink or toner to the media.
  • MICR magnetic ink character recognition
  • a Marker 230 is the mechanism that produces marks on the print media.
  • a print device can contain one or more Markers 230. Some examples of multiple marker sub-units 230 are: a print device with separate markers for normal and magnetic ink or an image setter that can output to both a proofing device and final film. Each Marker 230 can have its own set of characteristics associated with it, such as marking technology and resolution.
  • the media paths 250 encompass the mechanisms in the print device that move the media through the print device and connect all other media related units: Inputs 220, Outputs 240, Markers 230 and Finishers 270.
  • a print device may contain one or more media paths 250. In general, the design of the media paths 250 determines the maximum speed of the print device as well as the maximum media size that, the print device can handle.
  • Media paths 250 are complex mechanisms and can contain many different identifiable sub-mechanisms- such as media movement devices, media buffers, duplex units and interlocks .. Not all of the various sub-mechanisms reside on every media path 250, For example, one media, path may provide printing only on one surface of the media (a simplex path) and another media path may have a sub-mechanism that turns the media over and feeds it a second time through the marker sub-unit (a duplex path) . The duplex path may even have a bu fer sub-mechanism that allows multiple copies of the obverse side to be held before the reverse side of all the copies are marked.
  • the auxiliary sub-units such as the General Print Device 202, Operator Console 280 and Alerts 282, facilitate control of the print device, • inquiry/control of the operator panel, reporting of .alerts, and the adaptation of the print device to various natural languages and characters sets.
  • the General Print Device 202 is responsible for the overall control and status of the print device.
  • the Operator Console 280 is used to display and modify the state of the print device.
  • the console 280 can be as simple as a few indicators and switches or as complicated as full screen displays and keyboards.
  • the Alert unit 282 is responsible for detecting reportable events, making an entry in the alert table and, if and only if, the event is a critical event, initiating a trap.
  • an alert via the Alert unit 282 can be used to notify the manager of the printer that the correct textured paper media is not loaded in the printing device, or that the textured paper media has changed.
  • the System Controller 218 which represents the processor, memory and storage systems of the print device.
  • the System Controller 218 implements the control functions for processing a print job.
  • the System Controller 218 includes the Management Information Base (MIB) , which provides access to data elements of the print device, such as the processor(s) , memory, disk storage, file system and other underlying sub-mechanisms of the print device.
  • MIB Management Information Base
  • the System Controller 218 can range from simple single processor systems to multiprocessor systems. In addition, controllers can have a full range of resources such as hard disks . Those skilled in the art will recognize that a print device may have more than one processor and multiple other resources associated with it.
  • Fig. 3 illustrates a flow chart of a method for printing of a typical document.
  • a spooler/scheduler comprising the executable code and a suite of applications, receives print jobs from the client computers in step 310.
  • the spooler/scheduler processes the print job in step 320.
  • the spooler/scheduler sends the print job to the Print Services Facility (PSF) in step 330 and the PSF drives a printer in step 340.
  • PSF is a presentation formatting and device management system which, in simple terms, can be thought of as a print driver. It controls the dialog with the printer and handles resource management to support the printer capabilities .
  • Fig. 4 illustrates a process 400 for XML printing using a formatting template.
  • the formatting template provides a page definition represented by the Data. Map format 430.
  • the XML file 410 to be printed is placed directly on the server spool 420.
  • the new Data Map format 430 contains XML Descriptors (XMDs) 432, 434 that are to XML data.what Line Descriptors (LNDS) are to Line Data and what Record Descriptors (RCDS) are to record-format data.
  • LNDS Line Descriptors
  • RCDS Record Descriptors
  • XMDs 432, 434 are identified by a "Qualified Tag" (QT) 436, similar to the way RCDs are identified by 10-byte record IDs.
  • QT 436 is a concatenation of the XML element start tags that must be traversed in the XML hierarchy to get to a particular element. For example, in the following XML hierarchy: ⁇ person>
  • the QT for the XMD that is used to format the content for the element ⁇ first> is ⁇ person name first) (the space character is the delimiter between the start tag components that comprise the QT) .
  • the XML file to be printed 440 is pulled off the spool 420 by PSF 450 and is parsed.
  • the PSF 450 organizes a data stream representing the formatted XML file which is passed to printer 470. • Whenever a start tag is encountered, e.g. ⁇ last>, PSF 450 generates the QT (in this case it is ⁇ person name last)) , and searches the current Data Map 430 for an XMD 432, 434 with matching QT. If a matching QT is found, the content of the element is formatted with an XMD 432, 434. If a matching QT is not found, processing resumes with the next start tag.
  • PSF 450 parses the XML file 440, the PSF 450 must buffer the XML start tags traversed in order to have a "current" QT. All of the formatting functions that were developed, for record-formatting, e.g. page headers, page trailers, group headers, page numbering, text justification, graphics primitives, etc. are available for XML formatting with XMDS. An element content can be broken into fields, either with byte counts or with delimiters and processed using a chain of field XMDS.
  • Such attributes can be formatted with a chain of attribute XMDS .
  • This is a separate chain from a field XMD chain. It selects an attribute by its name, e.g. "height" and then formats the attribute value.
  • the attribute value may, in turn, be broken into fields and. formatted using a chain of field XMDS.
  • the content of the start tags can be formatted with a field XMD that selects the start tag (via a flag-bit, for example) as the data field to be processed (similar to the way that a record ID can be formatted with an RCD) .
  • Fig. 5 illustrates a flow chart 500 of the method for printing XML using a formatting template.
  • the XML file to be printed is placed on the server spool and a formatting template is provided to a Print Services Facility (PSF) at step 520.
  • the formatting template defines a Data Map containing XMDs.
  • the PSF pulls the XML file to be printed from the server spool and parses at step 540 the XML file to be printed.
  • the PSF searches the formatting template for formatting instructions, i.e., an XMD identified by a QT, for a parsed element at step 542. A decision is made as to whether the search was successful at step 550.
  • the method passes to step 560.
  • the content for the element is formatted according to the formatting instructions at step 554, and then the PSF sends the formatted Intelligent Printer Data Stream (IPDS) to the printer at step 570.
  • IPDS Intelligent Printer Data Stream
  • a decision is made as to whether the end of the document has been reached at step 560.
  • the method ends.
  • the method proceeds to the next element at step 566 and the method returns to step 542 where the formatting template is searched for formatting instructions for the next parsed element .
  • An advantage of the present invention is that, while imposing some limitations on the XML, e.g. the XML must be text-based and cannot contain external resource references, a more direct and faster method to print XML is provided.
  • a process for printing XML directly using a formatting template is performed by the Print Services Facility 450 as illustrated in Fig. 4 and described with reference to Fig 5 above.
  • the process described with reference to Figs. 4-5 may be tangibly embodied in a computer-readable medium or carrier, e.g. one or more of the fixed and/or removable data storage devices 490, or other data storage or data communications devices.
  • the computer program 492 of the storage device 490 may be loaded into PSF 450 to configure the PSF 450 for execution.
  • the computer program 492 comprise instructions which, when read and executed by the PSF 450 causes the PSF 450 to perform the steps necessary to execute the steps or elements of the present invention.

Abstract

A printing system and method for printing XML files directly using a formatting template is disclosed. An embodiment of the printing system includes a spooler for receiving printable information from the print channel, a print services facility for parsing an XML file, formatting the XML file according to a formatting template, the print services facility organizing a data stream representing the formatted XML file and generating a print steam having been formatted using the formatting template and a printer for printing the print steam according to the formatting defined by the formatting template, wherein the formatting template defines a data map format containing XML descriptors defining the formatting for an element of the XML file.

Description

A PRINTING SYSTEM
Field of the Invention
This invention relates in general to printing systems .
Background of the Invention
Extensible Markup Language (XML) is a text-based markup language that is designed to make information self-describing. XML is designed to improve the functionality of the Web by providing more flexible and adaptable information identification. It is called extensible because it is not a fixed format like HTML (a single, predefined markup language) . Instead, XML is actually a "metalanguage", i.e., a language for describing other languages, which lets you design your own customized markup languages for limitless different types of documents . XML can do this because it is written in SGML, the international standard metalanguage for text markup systems (ISO 8879) .
XML is fast becoming the standard for data interchange on the Web. Indeed, since XML was completed in early 1998 by the World Wide Web Consortium (W3C) , the standard has spread like wildfire through science and into industries . XML is intended to make it easy and straightforward to use SGML on the Web, e.g., easy to define document types, easy to author and manage SGML-defined documents, and easy to transmit and share them across the Web. XML defines an extremely simple dialect of SGML which is completely described in the XML Specification. The goal is to enable XML to be processed in the way that is now possible with HTML. For this reason, XML has been designed for ease of implementation.
As with HTML, data is identified using tags (identifiers enclosed in angle brackets, e.g., <...>). Collectively, the tags are known as "markup" . But unlike HTML, XML tags describe what the data means, rather than how to display it, for example, an HTML tag may relate to "displaying data in bold font" (i.e. <b>...</b>) , whereas an XML tag acts like a field name in a computer program by putting a label on a piece of data to identify it (e.g. <message>... </message>) .
In the same way field names for a data structure are defined, programmers are f ee to use any XML tags that make sense for a given application. Naturally, though, for multiple applications to use the same XML data, the tag names intended to be used have to be agreed upon.
A structured document formed of predetermined elements, such as a document described by XML is structured only by content and structure. The definition information regarding a style for the document, such as format and attribute information required for display or printed, is defined and administered independently of the document content information.
To display such a structured document on a displaying apparatus, or to print the document on a printing apparatus, information about the structure of the document ("structure information") is first analyzed and separately defined information about style definition ("style definition information") is obtained. The style definition information depends on the analyzed structure and, once obtained, is set as display or print attribute information.
The result of such a structure analysis may be represented in a tree structure. The independently defined style definition information is often defined in relation to a set of identifiers (hereinafter referred to as "tags") that indicate the elements of the document structure in terms of the various units of the document .
Authors and providers can design their own document types using XML, instead of only using HTML and document types can be explicitly tailored to an audience. Thus, authors and designers are free to create their own markup elements. Moreover, information content can be richer and easier to use because the descriptive and hypertext linking abilities of XML are much greater than those of HTML. XML can provide more and better facilities for presentation using stylesheets such as CSS (Cascading Stylesheet Specification) and XSL.
In HTML, default styling is built into browsers because the tagset of HTML is predefined and hardwired into browsers. IN XML, where you can define your own tagset, browsers cannot know what names are going to be used and what they will mean, so a stylesheet is needed if the formatted text is to be displayed. For example, browsers which read XML will accept and use a CSS stylesheet at a minimum, but you can also use the more powerful XSLT stylesheet language to transform your XML into HTML. The CSS provides a simple syntax for assigning styles to elements, and has been implemented in most browsers. The Extensible Stylesheet Language (XSL) has been created for use specifically with XML. XSL uses XML syntax (an XSL stylesheet is an XML file) and has widespread support from several major vendors, although current browser support is limited. XSL comes in two flavors . XSL is a pure formatting language and needs a text formatter such as FOP or PassiveTeX to create printable output (both can produce PDF) . XSLT (T for Transformation) , is a language to specify transformations of XML into HTML either inside the browser or at the server before transmission. It can also specify transformations from one vocabulary of XML to another, and from XML to plaintext.
Style sheets originated in publishing and document management applications. However XML applications go behind traditional document management and are useful for these applications as well. The SGML approach was to separate the document from its presentation. A document can be published in different forms on any media, e.g. the hardcover edition, pocket edition and CD-ROM edition. In fact, with SGML, documents are "retargetable" : For example, the same document can be published automatically on different media including paper and electronic media. To achieve this goal, SGML (and XML) encode high-level semantic information. For example, XML markup would identify the title, the paragraphs and the keywords in a document and is specifically not concerned with the font of the title for example. The font, the size and the color are properties of a published document on a given medium. More importantly, these properties can be automatically deduced from the high-level, semantic markup. Therefore software can automatically prepare documents for publishing and when printing, the title may be typeset in one font and the paragraphs in another. Keywords reuire no special formatting but are compiled in an index, and when publishing on the web, the title may be a graphic in its own frame and the list of keywords may be an index with hyperlinks .
Specific instructions on how to prepare the document for certain media are collected in stylesheets . Different stylesheets for print and for the web are used. Different stylesheets may even be used for the hardcover and the pocket editions .
An XSL stylesheet is a set of rules where each rule specifies how to format certain elements in the document . The stylesheets have rules for title, paragraphs and keywords. With XSL, these rules are powerful enough not only to format the document but also to reorganize it, e.g. by moving the title to the front page or extracting the list of keywords. This can lead to exciting applications of XSL outside the realm of traditional publishing. For example, XSL can be used to convert documents between the company-specific markup and a standard one.
Style sheets are, as discussed above, separated from documents. Therefore one document can have more than one stylesheet and, conversely, one stylesheet can be shared amongst several documents. The ability to associate several stylesheets to a single document means that the same document can be rendered differently depending on the media. The ability to share a stylesheet between several documents necessitates enforcing a corporate style.
As the Web became more commercial, publishers wanted the same control over quality of output that they had with the printed medium. This gradually led to an increasing use of concrete presentation controls such as explicit fonts and absolute positioning of material on the page. The unfortunate but entirely predictable side effect was that it became increasingly difficult to deliver the same content to alternative devices such as digital TV sets and WAP phones. Until now, in order to control printing, content providers used stylesheets, as described above, to control the rendering, e.g. fonts, colors, leading, margins, typefaces, and other aspects of style, of a Web document without compromising its structure. To print XML data is to apply a stylesheet, such as XSL, to the data using an XSLT processor. This processor outputs formatted objects, which are then input to a composer that generates final-form pages. These pages are then converted into a PDL such as PostScript, PDF, or AFP. Nevertheless, stylesheets are cumbersome and do not allow a user to print XML data efficiently and quickly. In a production system, for example, print speeds exceed 1000 pages/minute. Transforming XML data with an XSL stylesheet is processing-intensive and does not support such print speeds .
It can be seen then that there is a need for a method and apparatus for printing XML directly using a formatting template.
Disclosure of the Invention
Accordingly, the present invention provides a formatting template for printing at least one file having a plurality of elements, said template comprising a data map format having an associated plurality of descriptors for defining the format of each of said plurality of elements .
Preferably, a formatting template such as a Page Definition is used to format each element of an XML file. The formatting template contains XML descriptors that specify presentation parameters such as position, rotation, font, color, etc. In a preferred embodiment, the descriptors are identified by a qualified tag which identifies a description that is used to format the content for the element . The descriptors are indexed using a concatenation of the XML start tags that must be traversed to get to a particular XML element. The qualified tag is generated or modified whenever a start tag is encountered.
Aptly, each of said plurality of elements comprises a plurality of fields processed by a first set of said descriptors . The XML file to be printed is parsed into element contents that can be broken into fields and processed using a chain of field XMDs (XML descriptors) . The element contents are broken into ields either with byte counts or with delimiters . More aptly, each of said plurality of elements comprises a plurality of attributes processed by a second set of said descriptors. A chain of attribute XMDs are used for formatting attributes, wherein the attributes are broken into fields, the fields being formatted with a chain of field XMDs.
According to another aspect, the present invention provides a printing system, comprising: a spooler; a print services facility for parsing at least one file having a plurality of elements, formatting the at least one file according to a formatting template, organizing a data stream representing the formatted file and generating a print steam; and a printer for printing the print steam; wherein the formatting template defines a data map format having an associated plurality of descriptors for defining the format of each said plurality of elements.
According to another aspect, the present invention provides a method for printing at least one file having a plurality of elements, comprising the steps of: placing said at least one file on a server spool; providing a formatting template to a print services facility, wherein the formatting template comprises a data map format having an associated plurality of descriptors for defining the format of each of said plurality of elements; and pulling said at least one file from the server spool for generating a formatted print stream using the formatting template. Preferably, the method further comprises the steps of : parsing said at least one file into a plurality of elements; for each of said plurality of elements, searching the formatting template for formatting instructions; and in response to a successful searching step, formatting said each element using said formatting instructions .
According to another aspect, the present invention provides a computer program comprising program code means adapted to perform all the steps of the method described above when said program is run on a compute .
According to another aspect, the present invention provides a printing system. The printing system includes a spooler for receiving printable information from the print channel, a print services facility for parsing an XML file, formatting the XML file according to a formatting template, the print services facility organizing a data stream representing the formatted XML file and generating a print steam having been formatted using the formatting template and a printer for printing the print steam according to the formatting defined by the formatting template, wherein the formatting template defines a data map format containing XML descriptors defining the formatting for an element of the XML file.
According to another aspect, the present invention provides a method for printing XML files directly using a formatting template is provided. The method includes placing an XML file to be printed on a server spool, providing a formatting template to a print services facility, wherein the formatting template defines a data map format containing XML descriptors defining the formatting for an element of the XML file and pulling the XML file from the spooler for generating a formatted print stream using the formatting template. The method further includes parsing the XML file to be printed into elemental content, searching the formatting template for formatting instructions for a parsed element content, determining whether the search was successful, formatting the element content using formatting instructions obtained by the search and determining whether the end of the document has been reached. The method further includes continuing to process parsed element content and sending the formatted data stream to a printer.
According to another aspect, the present invention provides an article of manufacture comprising a program storage medium readable by a computer is provided. The medium tangibly embodies one or more programs of instructions executable by the computer to perform a method for printing XML files directly using a formatting template, wherein the method includes placing an XML file to be printed on a server spool, providing a formatting template to a print services facility, wherein the formatting template defines a data map format containing XML descriptors defining the formatting for an element of the XML file and pulling the XML file from the spooler for generating a formatted print stream using the formatting template.
According to another aspect, the present invention provides a printing system which includes spooler means for receiving printable information from the print channel, print driver means for parsing an XML file, formatting the XML file according to a formatting means, the print services facility organizing a data stream representing the formatted XML file and generating a print steam having been formatted using the formatting template and printing means for printing the print steam according to the formatting defined by the formatting template, wherein the formatting means defines a data map format containing XML descriptors defining the formatting for an element of the XML file.
Brief Description of the Drawings
The present invention will now be described, by way of example only, with reference to preferred embodiments thereof, as illustrated in the following drawings, in which:
Fig. 1 illustrates an overview of a printer system;
Fig. 2 illustrates a more. detailed block diagram of a print device, such as printers and digital copiers;
Fig. 3 illustrates the printing of a typical document;
Fig. 4 illustrates XML printing using a formatting template; and
Fig. 5 illustrates a flow chart of the method for printing XML using the formatting template of Fig. 4.
Detailed Description of the Invention
The present invention provides a method and apparatus for printing XML directly using a formatting template. A formatting template, such as a Page Definition, is used to format each XML element. The formatting template contains descriptors that specify presentation parameters such as position, rotation, font, color, etc. The descriptors are indexed using a concatenation of the XML tags that must be traversed to get to a particular XML element.
Fig. 1 illustrates an overview of a printer system 100. In Fig. 1, the printer system 100 includes a print server 110 for receiving the input print data stream 112, a print spooler 114 for controlling the spooling of data files, and presentation services 120 for generating appropriate commands to drive an attached printer 130 using a bi-directional print data stream 150. The spooler 114 receives printable information from the print channel. The print server 110 may also include other components that are not shown for performing basic tasks, such as monitoring and configuring attached printers, and providing print job management. The printer server 110 converts the input print data steam 112 to a data steam supported by the printer 130.
Fig. 2 illustrates a more detailed block diagram of a print device 200, such as printers and digital copiers, according to the present invention. Sub-units can also be a set of definable logical processes, such as interpreters for page description languages or command processors that set various operating modes of the print device.
Fig. 2 illustrates the three basic functions of the print device-: (1) the flow of a print file into an interpreter and onto the marker, (2) the flow of media through the marker and (3) the auxiliary sub-units that control and facilitate the two flows. As shown in Fig. 2, the flow of the print data comes through a physical connection 210 on which some form of transport protocol stack is running to a print device interface 212. The data provided by the transport protocol (interface) is sent to the input of an interpreter 216. The interpreter 216 is responsible for the conversion of a description of intended print instances into images that are to be marked on the media. A print device may have one or more interpreters.
As shown in Fig. 2, the media 260 initially resides in Input sub-units 220 from which the media 260 is selected and then transported via a Media Path 250 first to a Marker 230 and then onto an Output 240 with (optionally) some finishing operations 270 being performed. The Input' 220 is a mechanism that feeds media to be marked on into the print device. There may be as many Inputs 220 as there are distinctly selectable input "addresses". The Media 260 is an extension of the Input 220 which represents that media that is in an Input 220. The Output 240 is a mechanism that receives media that has been marked on. A print device may contain one or more Output mechanisms 240. There are as many Outputs 240 as there are distinctly selectable output "addresses". A finisher 270 is a unit that performs some operations on the media other than marking. Some examples of finishing processes are stapling, punching, binding, inserting, or folding. The optional finisher 270 can be used to apply highlight color, an image or MICR (magnetic ink character recognition) ink or toner to the media.
A Marker 230 is the mechanism that produces marks on the print media. A print device can contain one or more Markers 230. Some examples of multiple marker sub-units 230 are: a print device with separate markers for normal and magnetic ink or an image setter that can output to both a proofing device and final film. Each Marker 230 can have its own set of characteristics associated with it, such as marking technology and resolution. The media paths 250 encompass the mechanisms in the print device that move the media through the print device and connect all other media related units: Inputs 220, Outputs 240, Markers 230 and Finishers 270. A print device may contain one or more media paths 250. In general, the design of the media paths 250 determines the maximum speed of the print device as well as the maximum media size that, the print device can handle. Media paths 250 are complex mechanisms and can contain many different identifiable sub-mechanisms- such as media movement devices, media buffers, duplex units and interlocks .. Not all of the various sub-mechanisms reside on every media path 250, For example, one media, path may provide printing only on one surface of the media (a simplex path) and another media path may have a sub-mechanism that turns the media over and feeds it a second time through the marker sub-unit (a duplex path) . The duplex path may even have a bu fer sub-mechanism that allows multiple copies of the obverse side to be held before the reverse side of all the copies are marked.
The auxiliary sub-units, such as the General Print Device 202, Operator Console 280 and Alerts 282, facilitate control of the print device, • inquiry/control of the operator panel, reporting of .alerts, and the adaptation of the print device to various natural languages and characters sets. The General Print Device 202 is responsible for the overall control and status of the print device. The Operator Console 280 is used to display and modify the state of the print device. The console 280 can be as simple as a few indicators and switches or as complicated as full screen displays and keyboards. The Alert unit 282 is responsible for detecting reportable events, making an entry in the alert table and, if and only if, the event is a critical event, initiating a trap. For example, if the correct textured paper media is not loaded in the print device then this could be communicated back to the host through the bi-directional print data stream 150 as shown in Fig. 1. In addition to this, an alert via the Alert unit 282 can be used to notify the manager of the printer that the correct textured paper media is not loaded in the printing device, or that the textured paper media has changed.
All of the above described functions run on the System Controller 218 which represents the processor, memory and storage systems of the print device. The System Controller 218 implements the control functions for processing a print job. The System Controller 218 includes the Management Information Base (MIB) , which provides access to data elements of the print device, such as the processor(s) , memory, disk storage, file system and other underlying sub-mechanisms of the print device. The System Controller 218 can range from simple single processor systems to multiprocessor systems. In addition, controllers can have a full range of resources such as hard disks . Those skilled in the art will recognize that a print device may have more than one processor and multiple other resources associated with it.
Fig. 3 illustrates a flow chart of a method for printing of a typical document. A spooler/scheduler, comprising the executable code and a suite of applications, receives print jobs from the client computers in step 310. The spooler/scheduler processes the print job in step 320. After processing the print job, the spooler/scheduler sends the print job to the Print Services Facility (PSF) in step 330 and the PSF drives a printer in step 340. PSF is a presentation formatting and device management system which, in simple terms, can be thought of as a print driver. It controls the dialog with the printer and handles resource management to support the printer capabilities .
Fig. 4 illustrates a process 400 for XML printing using a formatting template. In the example shown in Fig. 4, the formatting template provides a page definition represented by the Data. Map format 430. In Fig. 4, the XML file 410 to be printed is placed directly on the server spool 420. The new Data Map format 430 contains XML Descriptors (XMDs) 432, 434 that are to XML data.what Line Descriptors (LNDS) are to Line Data and what Record Descriptors (RCDS) are to record-format data. XMDs 432, 434 are identified by a "Qualified Tag" (QT) 436, similar to the way RCDs are identified by 10-byte record IDs. A QT 436 is a concatenation of the XML element start tags that must be traversed in the XML hierarchy to get to a particular element. For example, in the following XML hierarchy: <person> <name>
<first>John</first> <Iast>Doe</last> </name> </person>
The QT for the XMD that is used to format the content for the element <first> is {person name first) (the space character is the delimiter between the start tag components that comprise the QT) . The XML file to be printed 440 is pulled off the spool 420 by PSF 450 and is parsed. The PSF 450 organizes a data stream representing the formatted XML file which is passed to printer 470. Whenever a start tag is encountered, e.g. <last>, PSF 450 generates the QT (in this case it is {person name last)) , and searches the current Data Map 430 for an XMD 432, 434 with matching QT. If a matching QT is found, the content of the element is formatted with an XMD 432, 434. If a matching QT is not found, processing resumes with the next start tag.
Note that as PSF 450 parses the XML file 440, the PSF 450 must buffer the XML start tags traversed in order to have a "current" QT. All of the formatting functions that were developed, for record-formatting, e.g. page headers, page trailers, group headers, page numbering, text justification, graphics primitives, etc. are available for XML formatting with XMDS. An element content can be broken into fields, either with byte counts or with delimiters and processed using a chain of field XMDS.
An XML start tag may specify attributes for an element. For example: <Person sex="male" height="72" weight="200" >
Such attributes can be formatted with a chain of attribute XMDS . This is a separate chain from a field XMD chain. It selects an attribute by its name, e.g. "height" and then formats the attribute value. The attribute value may, in turn, be broken into fields and. formatted using a chain of field XMDS. XML supports empty tags, i.e., structures which contain both the start tag and the end tag along with optional attributes inside a single pair of brackets, e.g. <person name="John Doe"/>. Empty tags are processed using their start component (which is person in this example) , and their attributes can be formatted using attribute XMDS . The content of the start tags (including brackets) can be formatted with a field XMD that selects the start tag (via a flag-bit, for example) as the data field to be processed (similar to the way that a record ID can be formatted with an RCD) .
Fig. 5 illustrates a flow chart 500 of the method for printing XML using a formatting template. At step 510 the XML file to be printed is placed on the server spool and a formatting template is provided to a Print Services Facility (PSF) at step 520. The formatting template defines a Data Map containing XMDs. At step 530, the PSF pulls the XML file to be printed from the server spool and parses at step 540 the XML file to be printed. The PSF then searches the formatting template for formatting instructions, i.e., an XMD identified by a QT, for a parsed element at step 542. A decision is made as to whether the search was successful at step 550. In response to a negative result (556), the method passes to step 560. In response to a positive result (552), the content for the element is formatted according to the formatting instructions at step 554, and then the PSF sends the formatted Intelligent Printer Data Stream (IPDS) to the printer at step 570. Next, a decision is made as to whether the end of the document has been reached at step 560. In response to a positive result (562), the method ends. In response to a negative result (564) , the method proceeds to the next element at step 566 and the method returns to step 542 where the formatting template is searched for formatting instructions for the next parsed element .
An advantage of the present invention is that, while imposing some limitations on the XML, e.g. the XML must be text-based and cannot contain external resource references, a more direct and faster method to print XML is provided.
A process for printing XML directly using a formatting template is performed by the Print Services Facility 450 as illustrated in Fig. 4 and described with reference to Fig 5 above. The process described with reference to Figs. 4-5, may be tangibly embodied in a computer-readable medium or carrier, e.g. one or more of the fixed and/or removable data storage devices 490, or other data storage or data communications devices. The computer program 492 of the storage device 490 may be loaded into PSF 450 to configure the PSF 450 for execution. The computer program 492 comprise instructions which, when read and executed by the PSF 450 causes the PSF 450 to perform the steps necessary to execute the steps or elements of the present invention.

Claims

1. A formatting template for printing at least one file having a plurality of elements, said template comprising a data map format having an associated plurality of descriptors for defining the format of each of said plurality of elements .
2. The formatting template of claim 1 wherein the descriptors are identified by a qualified tag.
3. The formatting template of claim 2 wherein the qualified tag comprises a concatenation of element start tags that must be traversed in the at least one file.
4. The formatting template of claim 3 wherein the qualified tag is generated whenever a start tag is encountered.
5. The formatting template of claim 3 wherein the qualified tag is modified whenever a start tag is encountered.
6. The formatting template of any preceding claim wherein each of said plurality of elements comprises a plurality of fields processed by a first set of said descriptors .
7. The formatting template of any preceding claim wherein each of said plurality of elements comprises a plurality of attributes processed by a second set of said descriptors.
8. A printing system, comprising:
a spooler;
a print services facility for parsing at least one file having a plurality of elements, formatting the at least one file according to a formatting template, organizing a data stream representing the formatted file and generating a print stream; and
a printer for printing the print stream; wherein the formatting template defines a data map format having an associated plurality of descriptors for defining the format of each said plurality of elements .
9. A method for printing at least one file having a plurality of elements, comprising the steps of:
placing said at least one file on a server spool;
providing a formatting template to a print services facility, wherein the formatting template comprises a data map format having an associated plurality of descriptors for defining the format of each of said plurality of elements; and
pulling said at least one file from the server spool for generating a formatted print stream using the formatting template.
10. The method of claim 9, further comprising the steps of:
parsing said at least one file into a plurality of elements;
for each of said plurality of elements, searching the formatting template for formatting instructions; and
in response to a successful searching step, formatting said each element using said formatting instructions.
11. A computer program comprising program code means adapted to perform all the steps of claim 9 when said program is run on a computer.
PCT/GB2002/004294 2001-09-26 2002-09-19 A printing system WO2003027829A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP02758656A EP1430387B1 (en) 2001-09-26 2002-09-19 A printing system
KR1020047000703A KR100576030B1 (en) 2001-09-26 2002-09-19 A printing system
AT02758656T ATE310988T1 (en) 2001-09-26 2002-09-19 A PRINTER SYSTEM
CA002446126A CA2446126C (en) 2001-09-26 2002-09-19 A printing system
JP2003531304A JP2005504375A (en) 2001-09-26 2002-09-19 Printing system
DE60207593T DE60207593T2 (en) 2001-09-26 2002-09-19 A PRINTER SYSTEM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/963,807 US7733509B2 (en) 2001-09-26 2001-09-26 Method and apparatus for printing XML directly using a formatting template
US09/963,807 2001-09-26

Publications (1)

Publication Number Publication Date
WO2003027829A1 true WO2003027829A1 (en) 2003-04-03

Family

ID=25507742

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2002/004294 WO2003027829A1 (en) 2001-09-26 2002-09-19 A printing system

Country Status (10)

Country Link
US (1) US7733509B2 (en)
EP (1) EP1430387B1 (en)
JP (1) JP2005504375A (en)
KR (1) KR100576030B1 (en)
CN (1) CN100350372C (en)
AT (1) ATE310988T1 (en)
CA (1) CA2446126C (en)
DE (1) DE60207593T2 (en)
TW (1) TW569129B (en)
WO (1) WO2003027829A1 (en)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857013B2 (en) * 1999-01-29 2005-02-15 Intermec Ip.Corp. Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
US20050274801A1 (en) * 1999-01-29 2005-12-15 Intermec Ip Corp. Method, apparatus and article for validating ADC devices, such as barcode, RFID and magnetic stripe readers
US6976062B1 (en) * 1999-09-22 2005-12-13 Intermec Ip Corp. Automated software upgrade utility
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7770113B1 (en) * 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US6908034B2 (en) 2001-12-17 2005-06-21 Zih Corp. XML system
US7600685B2 (en) * 2001-12-17 2009-10-13 Zih Corp. XML printer system with RFID capability
US7959083B2 (en) * 2002-07-17 2011-06-14 Zih Corp. XML printer system
US7025268B2 (en) * 2001-12-17 2006-04-11 Zih Corporation XML printer system
US6540142B1 (en) 2001-12-17 2003-04-01 Zih Corp. Native XML printer
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US20040205469A1 (en) * 2002-06-19 2004-10-14 Mellor Nathan D. Method for processing a rule using computer-independent program instructions and computer for use therewith
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
AU2002951709A0 (en) * 2002-09-26 2002-10-17 Canon Information Systems Research Australia Pty Ltd Efficient printing of frames pages
CA2409079A1 (en) 2002-10-21 2004-04-21 Ibm Canada Limited-Ibm Canada Limitee Creating multiple and cascading business interpretations from raw application data using transformation layering
JP2004185541A (en) * 2002-12-06 2004-07-02 Minolta Co Ltd Device management device
JP4179013B2 (en) * 2003-03-24 2008-11-12 富士ゼロックス株式会社 Instruction management system
JP2006525608A (en) * 2003-05-05 2006-11-09 アーバーテキスト, インコーポレイテッド System and method for managing dynamic content assemblies
EP1475722A1 (en) * 2003-05-06 2004-11-10 Rudi Warttmann Printing control system
US7880909B2 (en) * 2003-05-20 2011-02-01 Bukowski Mark A Extensible framework for parsing varying formats of print stream data
JP3793181B2 (en) * 2003-08-08 2006-07-05 キヤノン株式会社 Data processing apparatus, print control method, computer-readable storage medium storing program, and program
US20050157341A1 (en) * 2004-01-16 2005-07-21 Levine Jonathan D. Common normal format and associated system providing a single, robust, universal workflow for the creation, printing, and binding of hardcopy books, and for the accessibility and delivery of electronic books
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7430062B2 (en) * 2004-05-07 2008-09-30 Infoprint Solutions Company, Llc Method and apparatus for color management
US7436546B2 (en) * 2004-05-07 2008-10-14 Infoprint Solutions Company, Llc Method and apparatus for color management
WO2005109172A1 (en) 2004-05-12 2005-11-17 Samsung Electronics Co., Ltd. Method of providing multimedia data for direct printing, direct printing method and apparatus thereof
EP1754136A4 (en) * 2004-05-12 2007-12-05 Samsung Electronics Co Ltd Direct printing method and apparatus
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
CN100424680C (en) * 2004-09-09 2008-10-08 佳能株式会社 Method and apparatus for encrypted print processing
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US8185820B1 (en) * 2005-04-06 2012-05-22 Adobe Systems Incorporated System and/or method for document generation
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US20060271850A1 (en) * 2005-05-06 2006-11-30 Didier Gombert Method and apparatus for transforming a printer into an XML printer
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US7761864B2 (en) 2005-08-09 2010-07-20 Intermec Ip Corp. Method, apparatus and article to load new instructions on processor based devices, for example, automatic data collection devices
US20070130513A1 (en) * 2005-12-05 2007-06-07 Xerox Corporation Printing device with an embedded extensible stylesheet language transform and formatting functionality
US8984397B2 (en) * 2005-12-15 2015-03-17 Xerox Corporation Architecture for arbitrary extensible markup language processing engine
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US9286272B2 (en) * 2005-12-22 2016-03-15 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
JP4262270B2 (en) * 2006-08-03 2009-05-13 キヤノン株式会社 Information processing apparatus and printing apparatus control method
US8944332B2 (en) 2006-08-04 2015-02-03 Intermec Ip Corp. Testing automatic data collection devices, such as barcode, RFID and/or magnetic stripe readers
US20080043277A1 (en) * 2006-08-18 2008-02-21 Xerox Corporation Printing system and method
TW200830207A (en) * 2006-11-29 2008-07-16 Wingarc Technologies Inc Business form creating system, network system using the same, and business form creating method
US8045187B2 (en) * 2006-11-30 2011-10-25 Canon Kabushiki Kaisha Variable data printing within a print driver
US20070150494A1 (en) * 2006-12-14 2007-06-28 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8516025B2 (en) * 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US8156432B2 (en) * 2007-11-14 2012-04-10 Zih Corp. Detection of UTF-16 encoding in streaming XML data without a byte-order mark and related printers, systems, methods, and computer program products
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8902455B2 (en) 2011-01-25 2014-12-02 Accenture Global Services Limited Formatting data
CN103914933B (en) * 2012-12-30 2017-06-30 航天信息股份有限公司 A kind of printing invoice method and apparatus based on XML technology
CN104657091B (en) * 2013-11-20 2018-11-13 航天信息股份有限公司 Template data formats Method of printing in a kind of taxation control system
CN104679452B (en) * 2013-12-02 2018-04-20 航天信息股份有限公司 Printing invoice Data Binding Method in a kind of taxation control system
CN105589686B (en) * 2014-11-14 2021-03-02 航天信息股份有限公司 Template-based information input and printing method and device under WinCE platform
CN104714766B (en) * 2015-03-12 2017-11-03 福建工程学院 A kind of method directly printed in WEB forms browser
CN111414741B (en) * 2018-12-19 2022-06-14 北大方正集团有限公司 Method, device, equipment and medium for making format template of publication
CN111142815B (en) * 2019-12-26 2023-07-14 杭州涂鸦信息技术有限公司 B/S-based label printing system
CN111399786B (en) * 2020-02-28 2024-03-08 中国平安人寿保险股份有限公司 Method and device for generating print file, terminal equipment and storage medium
CN111783414A (en) * 2020-07-20 2020-10-16 上海乾臻信息科技有限公司 Label printing template generation method and device
CN112732205A (en) * 2020-12-18 2021-04-30 航天信息股份有限公司 Universal printing equipment control method, electronic equipment, storage medium and system
US11681483B2 (en) 2021-11-09 2023-06-20 Kyocera Document Solutions Inc. Built-in print formatting responsive to content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0806721A1 (en) * 1996-05-09 1997-11-12 Fuji Xerox Co., Ltd. Print control system and method
EP1006431A1 (en) * 1998-12-02 2000-06-07 Xerox Corporation Printing system and method
WO2000070837A2 (en) * 1999-05-12 2000-11-23 Oce Printing Systems Gmbh Network, interpreter for such a network, and method for operating a network

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPO904597A0 (en) * 1997-09-08 1997-10-02 Canon Information Systems Research Australia Pty Ltd Method for non-linear document conversion and printing
US6247011B1 (en) * 1997-12-02 2001-06-12 Digital-Net, Inc. Computerized prepress authoring for document creation
US6012098A (en) 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
US6154738A (en) 1998-03-27 2000-11-28 Call; Charles Gainor Methods and apparatus for disseminating product information via the internet using universal product codes
US6487566B1 (en) * 1998-10-05 2002-11-26 International Business Machines Corporation Transforming documents using pattern matching and a replacement language
US6763343B1 (en) * 1999-09-20 2004-07-13 David M. Brooke Preventing duplication of the data in reference resource for XML page generation
US6832351B1 (en) * 1999-10-01 2004-12-14 Microsoft Corporation Method and system for previewing and printing customized business forms
US6918084B1 (en) * 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0806721A1 (en) * 1996-05-09 1997-11-12 Fuji Xerox Co., Ltd. Print control system and method
EP1006431A1 (en) * 1998-12-02 2000-06-07 Xerox Corporation Printing system and method
WO2000070837A2 (en) * 1999-05-12 2000-11-23 Oce Printing Systems Gmbh Network, interpreter for such a network, and method for operating a network

Also Published As

Publication number Publication date
CN1554045A (en) 2004-12-08
ATE310988T1 (en) 2005-12-15
KR100576030B1 (en) 2006-05-02
CA2446126C (en) 2009-11-17
US7733509B2 (en) 2010-06-08
EP1430387A1 (en) 2004-06-23
KR20040027879A (en) 2004-04-01
DE60207593D1 (en) 2005-12-29
DE60207593T2 (en) 2006-08-10
JP2005504375A (en) 2005-02-10
TW569129B (en) 2004-01-01
CA2446126A1 (en) 2003-04-03
CN100350372C (en) 2007-11-21
US20030058469A1 (en) 2003-03-27
EP1430387B1 (en) 2005-11-23

Similar Documents

Publication Publication Date Title
EP1430387B1 (en) A printing system
US20020111963A1 (en) Method, system, and program for preprocessing a document to render on an output device
US7633638B2 (en) Method and system for data processing
US6067554A (en) Method and apparatus for displaying print documents
EP1538534A2 (en) Generation of a PPML template from a PDF document
JP4324060B2 (en) Document management system and method, document management apparatus, and control method for the apparatus
EP2402852A2 (en) Method for enforcing a minimum font size
US20070263240A1 (en) Image-Forming Apparatus, Image-Forming Control Method, Image-Forming Control Program Storage Medium, Image-Forming Control Data Signal, And Image-Forming Control Apparatus
US8320001B2 (en) Information processing method and apparatus for banner printing
US20060271850A1 (en) Method and apparatus for transforming a printer into an XML printer
JP2002236569A (en) Method for digitally printing composite document
US8319997B2 (en) Information processing apparatus to display information about progress of print processing, information processing method, and storage medium
JP2004348498A (en) Electronic document printing system
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
US20060242571A1 (en) Systems and methods for processing derivative featurees in input files
JP6234417B2 (en) Information processing apparatus, control method therefor, and program
JP6437076B2 (en) Information processing apparatus, control method therefor, and program
KR101174802B1 (en) Printer driver for converting printing data into common file and printer controlling apparatus using the same
JP4861841B2 (en) Print data generation apparatus, print data generation method, printer driver program, document data generation server, document data generation method, document data generation program, and print data generation system
JP5263359B2 (en) Print data generation apparatus, print data generation method, printer driver program, and print data generation system
JP5459383B2 (en) Print data generation apparatus, print data generation method, printer driver program, and print data generation system
JP2003303063A (en) Apparatus for output control, method therefor, computer readable storage medium and program
JP2001022618A (en) Data converting processor and recording medium
KR20050042567A (en) Printing system using meta file and printing method thereof

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ OM PH PL PT RU SD SE SG SI SK SL TJ TM TN TR TZ UA UG UZ VC VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE BG CH CY CZ DK EE ES FI FR GB GR IE IT LU MC PT SE SK TR BF BJ CF CG CI GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2002758656

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2446126

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1020047000703

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20028178092

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2003531304

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 2002758656

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2002758656

Country of ref document: EP