1 / 41

Integrating JDF and PPML

Integrating JDF and PPML. Marrying a Job Ticket to a Page Description Language. Steve Hiebert Software Design Engineer Hewlett-Packard Company. motivation.

coy
Download Presentation

Integrating JDF and PPML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Integrating JDF and PPML Marrying a Job Ticket to a Page Description Language Steve HiebertSoftware Design EngineerHewlett-Packard Company Integrating JDF and PPML

  2. motivation • JDF is a job ticketing and workflow description language that is gaining rapid acceptance in the commercial and enterprise printing arena. JDF has an active body, CIP4, working on maintaining and improving the language over time. • PPML is a page description language (PDL) targeted at variable data printing jobs and maximizing the re-use of assets to minimize transport and printing costs. • JDF is, for the most part, PDL agnostic. PPML is, for the most part, job ticket agnostic. They each do their own job and have avoided cluttering their vocabulary with elements from the others domain. • As such, integration of these two XML vocabularies to allow cooperation and interoperation would seem to be a marriage made in heaven. Integrating JDF and PPML

  3. topics to be covered • PPML • Origins • Basic Structure • JDF • Origins • Basic Structure • Process types considered • IDPrinting • Combined process • Resource modifications, issues and solutions • Variable Data Printing • Partitioning • Resource updates • Resource modification from the data stream • TICKET_REF • TICKET Integrating JDF and PPML

  4. origins of PPML • Personalized Print Markup Language • PODi – Print On Demand initiative • PPML conceived: March, 1999 • PPML project initiated: April, 1999 • Versions • Version 1.0: March, 2000 • Version 1.5: May, 2001 • Version 2.0: April, 2002 • Version 2.1: July, 2002 Integrating JDF and PPML

  5. PPML • Page Description Language (PDL) • Specifies how to manipulate and arrange images on a page • XML based • Mostly hierarchical • Content format agnostic • PDF • TIFF • PostScript • SVG • XSL/FO • Etc. Integrating JDF and PPML

  6. basic structure of PPML Integrating JDF and PPML

  7. origins of JDF • Job Definition Format • Describes prepress, press and post-press processes • Built upon PPF (CIP3) and PJTF (Adobe) • CIP4 – Cooperation for the Integration of Processes in Prepress, Press and Post-press • JDF initiated: late 1999 • Versions: • Version 1.0: April, 2001 • Version 1.1: April, 2002 • Version 1.1 Revision A: September 2002 Integrating JDF and PPML

  8. JDF • Job Ticketing and Workflow Language • XML based • Hierarchy of processes • Web of resources • PDL agnostic • PDF • PPML • Etc. Integrating JDF and PPML

  9. basic structure of JDF Integrating JDF and PPML

  10. choosing a JDF process model • IDPrinting • Pro: close mapping to Internet Printing Protocol (IPP) • Con: resource model different from typical JDF • Many resources referred to directly • The missing link • Combined Process • Follows existing JDF model • Resource/ResourceLink • Divide and conquer • Mix and match processes • Model a wider variety of print workflows • Scalable and extensible • Tightly coupled processes • Inner inputs and outputs implied Integrating JDF and PPML

  11. IDPrinting • Integrated Digital Printing • Designed with IPP in mind • Interpreting + Rendering + Screening + DigitalPrinting • Input Resources mapping to IPP • Appendix F of JDF Specification details mapping • IDPrintingParams • Several sub-elements and references • Media • Runlist Integrating JDF and PPML

  12. IDPrinting • Other Input Resources • ColorantControl • Component (Cover, Input, Proof) • ExposedMedia • FontPolicy • InterpretingParams • RenderingParams • ScreeningParams • TransferFunctionControl Integrating JDF and PPML

  13. attributes-natural-lang ipp-attribute-fidelity job-priority output-bin page-delivery print-quality sheet-collate AttributesNaturalLang IDPAttributeFidelity IPPJobPriority OutputBin PageDelivery PrintQuality SheetCollate comparing IPP to IDPrintingParams IPP IDPrintingParams Integrating JDF and PPML

  14. sub-elements of IDPrintingParams • Cover • IDPFinishing, IDPLayout, MediaIntent, MediaSource • IDPFinishing • IDPFolding, IDPHolemaking, IDPStitching, IDPTrimming • IDPHolemaking contains or refers to HoleMakingParams • IDPLayout • Very simple layout • JobSheet • IDPFinishing, IDPLayout, MediaIntent, MediaSource • MediaIntent • Linked to Product nodes, referenced by IDPrintingParams • MediaSource Integrating JDF and PPML

  15. but … • From the JDF Specification: • Controls for IDPrinting are provided in the IDPrintingParams resource. These controls are somewhat limited in their scope. If greater control over various aspects of the printing process is required, IDPrinting should not be used. Integrating JDF and PPML

  16. JDF Combined process • From the JDF Specification: • For example, a digital printer may be able to execute the Interpreting, Rendering, and DigitalPrinting processes. To accommodate such devices, JDF allows processes to be grouped within a node whose Type = Combined Integrating JDF and PPML

  17. A Combined process node • JDF Node • Type="Combined" • Types="list of processes making up combined node" • Ordering is significant • May repeat, e.g., Types="Trimming Folding Trimming" • Resource and ResourceLink pools are merged • Links specify the target process(es) • All resources must be available/complete to start • Input and Output resources of inner processes are implied Integrating JDF and PPML

  18. LayoutPreparation Imposition Interpreting Rendering Screening DigitalPrinting Stitching Folding Trimming HoleMaking processes to model a digital print workflow – mix and match Integrating JDF and PPML

  19. JDF Combined process assumptions • The processes in a combined process are tightly coupled. • The processes in a combined process have knowledge of one another. • The processes in a combined process can inform each other about values obtained from their resources. Integrating JDF and PPML

  20. A JDF Combined Process Node Integrating JDF and PPML

  21. Combined process example • <JDF Type = "Combined" Types = "DigitalPrinting Gathering Stitching" ID = "J1"> • <ResourceLinkPool> • <!-- digital printing parameters --> • <DigitalPrintingParamsLink Usage="Input" CombinedProcessIndex="0" rRef="L1"/> • <!-- gathering parameters --> • <GatheringParamsLink Usage="Input" CombinedProcessIndex="1" rRef="L4"/> • <!-- Stitching parameters --> • <StitchingParamsLink Usage="Input" CombinedProcessIndex="2" rRef="L6"/> • <!-- input sheets --> • <MediaLink Usage="Input" CombinedProcessIndex="0" rRef="L2"/> • <!-- stitched output components --> • <ComponentLink Usage="Output" CombinedProcessIndex="2" rRef="L7"/> • </ResourceLinkPool> • <ResourcePool> • … • </ResourcePool> • </JDF> Integrating JDF and PPML

  22. modifying resources at runtime • Traditional challenges • Challenges added by Variable Data Printing (VDP) • Traditional JDF • Partitioning • Part • Features added to JDF for VDP • Resource updates Integrating JDF and PPML

  23. traditional challenges • Repetitive processes applied to similar but different entities • Files • Sheets • Surfaces • Separations • Concise representation • Avoid multiple Nodes of same process each with its own resources • Avoid repeating the common portions of resource definitions Integrating JDF and PPML

  24. variable data printing challenges • Database driven • Text • Images • Media! • Etc. • Streams, in particular transactional processing • A job without end Integrating JDF and PPML

  25. varying resources - traditional • Partitions • Nested resources with selection criteria • E.g., a Media resource may contain 0 or more Media resources • Outer resource is root • Inner resources are leaves • Inner resources may nest • PartIDKeys in root • Define selection types • Enumeration, defined for each partitionable resource • PartIDKeys in leaves • Each key becomes an attribute name • Define values for those types • Based on up front knowledge • Assumes an algorithm to select • Algorithm becomes value of attribute Integrating JDF and PPML

  26. possible PartIDKeys values(1 or more) • BlockName • DocCopies • DocIndex • DocRunIndex • DocSheetIndex • FountainNumber • LayerIDs • Location • Option • PageNumber • PartVersion • PreviewType • RibbonName • Run • RunIndex • RunTags • RunPage • Separation • SetIndex • SheetIndex • SheetName • Side • SignatureName • TileID • WebName Integrating JDF and PPML

  27. partitioning a RunList(JDF 1.1 specification excerpts) 7.2.115 RunList RunList resources describe an ordered set of LayoutElement or ByteMap elements. Ordering and structure are defined using the generic partitioning mechanisms as described in 3.9.2 Description of Partitionable Resources. … Resource Properties Resource class: Parameter Resource referenced by: - Partition:DocIndex, PartVersion, Run, RunPage, Separation Input of processes: RunLists are used as input resources by most processes that act on content data Output of processes: RunLists are used as output resources by most processes that act on content data Table 3.25 Contents of the Part element Run The Run attribute selects a set of partitioned RunList elements from a RunList resource. Integrating JDF and PPML

  28. a partitioned RunList • <RunList ID="Link0003" Class="Parameter" Status="Available" PartIDKeys="Run"> • <RunList Run="1" Pages="0~-1"> • <LayoutElement> • <FileSpec URL="File://File1.pdf"/> • </LayoutElement> • </RunList> • <RunList Run="2" Pages="0~-1"> • <LayoutElement> • <FileSpec URL="File://File2.pdf"/> • </LayoutElement> • </RunList> • </RunList> Integrating JDF and PPML

  29. referencing a partitioned RunList <ResourceLinkPool> <RunListLink rRef="Link003" Usage="Input"> <Part Run="1"/> </RunListLink> <RunListLink rRef="Link003" Usage="Input"> <Part Run="2"/> </RunListLink> </ResourceLinkPool> Explicit references to partitions <ResourceLinkPool> <RunListLink rRef="Link003" Usage="Input“/> </ResourceLinkPool> Implicit reference to partitions Integrating JDF and PPML

  30. varying resources - VDP • Respond to non-algorithmic events • Three attempts • Direct setting of resource value • Causes addressing problems (nested resources) • Uncontrolled, anything can happen • Update messages • Double indirection to ease addressing problems • Address the message by ID • ID of receiving process in the message • Allowable messages listed in UpdateMessagePool • Update resources • One level of addressing • Allowable updates contained within the resource itself • Very clear which update goes with which resource • Very clear what updates may happen to a resource Integrating JDF and PPML

  31. resource updates • Available for all process input resources • Resource Update named after containing resource with "Update" appended • E.g., DigitalPrintingParams may contain 0 or more DigitalPrintingParamsUpdate elements • Update has same content and attributes as parent • All attributes and content are optional in Update • Update does not inherit from parent • Updates set processor state Integrating JDF and PPML

  32. a resource with updates • <DigitalPrintingParams ID="InitialDigitalPrintingParams" • Class="Parameter" Status="Available" Collate="None"> • <DigitalPrintingParamsUpdate UpdateID="CollateEnabled" Collate="Sheet"/> • <DigitalPrintingParamsUpdate UpdateID="CollateDisabled" Collate="None"/> • </DigitalPrintingParams> Note: all IDs must be unique Integrating JDF and PPML

  33. activating a resource update • PPML • TICKET_REF • Placed within PPML data stream • May occur before or within a PPML construct • An update, once activated, remains in effect until overridden or out of scope • Activates a resource update • Address outer (containing) resource to reset to initial state • TICKET • Placed at start of PPML data stream • Contains or refers to job ticket • May or may not be JDF Integrating JDF and PPML

  34. activating a resource update with TICKET_REF • May occur within: • PPML • DOCUMENT_SET • DOCUMENT • PAGE • MARK • REUSABLE_OBJECT, OCCURRENCE_LIST • No content • Single attribute: ExtRefID • Updates processor state Integrating JDF and PPML

  35. resource update before <DOCUMENT ...><TICKET_REF ExtIDRef="Media_CoverStock"/><PAGE ...><MARK...>...</PAGE><TICKET_REF ExtIDRef="Media_White"/> <PAGE ...>...</PAGE> <PAGE ...>...</PAGE> <PAGE ...>...</PAGE> <PAGE ...>...</PAGE><TICKET_REF ExtIDRef="Media_CoverStock"/><PAGE ...><MARK...> ...</PAGE></DOCUMENT> Integrating JDF and PPML

  36. resource update within <DOCUMENT ...><TICKET_REF ExtIDRef="Media_White"/><PAGE ...><TICKET_REF ExtIDRef="Media_CoverStock"/><MARK...>...</PAGE> <PAGE ...>...</PAGE> <PAGE ...>...</PAGE> <PAGE ...>...</PAGE> <PAGE ...>...</PAGE> <PAGE ...><TICKET_REF ExtIDRef="Media_CoverStock"/><MARK...> ...</PAGE></DOCUMENT> Integrating JDF and PPML

  37. PPML TICKET • May contain or refer to the JDF job ticket • INTERNAL_DATA • EXTERNAL_DATA • Format attribute • E.g., application/vnd.cip4-jdf+xml • Not yet registered with the IANA • +xml described in IETF RFC 3023 • http://www.rfc-editor.org/rfc/rfc3023.txt Integrating JDF and PPML

  38. job ticket embedded in PPML • <PPML> • <TICKET Format="application/vnd.cip4-jdf+xml"> • <INTERNAL_DATA Encoding="text/xml" xmlns:jdf="http://www.CIP4.org/JDFSchema_1"> • <jdf:JDF Type="Combined" ... > • ... • </jdf:JDF> • </INTERNAL_DATA> • </TICKET> • ... • </PPML> Integrating JDF and PPML

  39. job ticket referenced from PPML • <PPML> • <TICKET Format="application/vnd.cip4-jdf+xml"> • <EXTERNAL_DATA Src="MyTicket.jdf"/> • </TICKET> • </PPML> Integrating JDF and PPML

  40. for further reading • JDF 1.1a Specification • http://www.cip4.org/documents/jdf_specifications/index.html • PPML 2.1 Specification (on request) • http://www.podi.org • PPML Job Ticket 1.1 Specification (on request) • http://www.podi.org • Internet Printing Protocol (IPP) • http://www.pwg.org/ipp/ Integrating JDF and PPML

More Related