YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Integrating JDF and PPML

Page 1September 11, 2002

HP Digital Publishin

gSolutions

Steve Hiebert Integrating JDF and PPML

Integrating JDF and PPML

Marrying a Job Ticket to a Page Description Language

Steve HiebertSoftware Design EngineerHewlett-Packard Company

Page 2: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 2

HP DigitalPublishin

gSolutions

Steve Hiebert

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.

Page 3: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 3

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 4: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 4

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 5: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 5

HP DigitalPublishin

gSolutions

Steve Hiebert

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.

Page 6: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 6

HP DigitalPublishin

gSolutions

Steve Hiebert

basic structure of PPMLPPML

DOCUMENT

PAGE

MARK

DOCUMENT_SET DOCUMENT_SET ...

DOCUMENT ...

PAGE ...

MARK ...

Page 7: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 7

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 8: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 8

HP DigitalPublishin

gSolutions

Steve Hiebert

JDF• Job Ticketing and Workflow Language• XML based

• Hierarchy of processes• Web of resources

• PDL agnostic• PDF• PPML• Etc.

Page 9: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 9

HP DigitalPublishin

gSolutions

Steve Hiebert

basic structure of JDFJDF

JDF JDF JDF

Resource ResourceResource

ResourceLinks

ResourceLinks

ResourceLinks

Page 10: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 10

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 11: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 11

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 12: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 12

HP DigitalPublishin

gSolutions

Steve Hiebert

IDPrinting• Other Input Resources

• ColorantControl• Component (Cover, Input, Proof)• ExposedMedia• FontPolicy• InterpretingParams• RenderingParams• ScreeningParams• TransferFunctionControl

Page 13: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 13

HP DigitalPublishin

gSolutions

Steve Hiebert

• attributes-natural-lang

• ipp-attribute-fidelity• job-priority• output-bin• page-delivery• print-quality• sheet-collate

• AttributesNaturalLang

• IDPAttributeFidelity• IPPJobPriority• OutputBin• PageDelivery• PrintQuality• SheetCollate

IDPrintingParamsIPP

comparing IPP to IDPrintingParams

Page 14: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 14

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 15: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 15

HP DigitalPublishin

gSolutions

Steve Hiebert

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.

Page 16: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 16

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 17: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 17

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 18: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 18

HP DigitalPublishin

gSolutions

Steve Hiebert

processes to model a digital print workflow – mix and match

• LayoutPreparation

• Imposition• Interpreting• Rendering• Screening

• DigitalPrinting• Stitching• Folding• Trimming• HoleMaking

Page 19: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 19

HP DigitalPublishin

gSolutions

Steve Hiebert

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.

Page 20: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 20

HP DigitalPublishin

gSolutions

Steve Hiebert

A JDF Combined Process NodeJDF

(Interpreting, Rendering, DigitalPrinting

Resource Resource

ResourceLinks

(Interpreting)

Resource Pool

Resource Link Pool

ResourceLinks

(Rendering)

ResourceLinks

(DigitalPrinting)

Resource

Page 21: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 21

HP DigitalPublishin

gSolutions

Steve Hiebert

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>

Page 22: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 22

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 23: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 23

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 24: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 24

HP DigitalPublishin

gSolutions

Steve Hiebert

variable data printing challenges• Database driven

• Text• Images• Media!• Etc.

• Streams, in particular transactional processing• A job without end

Page 25: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 25

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 26: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 26

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 27: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 27

HP DigitalPublishin

gSolutions

Steve Hiebert

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.

Page 28: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 28

HP DigitalPublishin

gSolutions

Steve Hiebert

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>

Page 29: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 29

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 30: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 30

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 31: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 31

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 32: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 32

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 33: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 33

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 34: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 34

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 35: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 35

HP DigitalPublishin

gSolutions

Steve Hiebert

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>

Page 36: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 36

HP DigitalPublishin

gSolutions

Steve Hiebert

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>

Page 37: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 37

HP DigitalPublishin

gSolutions

Steve Hiebert

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

Page 38: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 38

HP DigitalPublishin

gSolutions

Steve Hiebert

job ticket embedded in PPML

<PPML><TICKET Format="application/vnd.cip4-jdf+xml">

<INTERNAL_DATAEncoding="text/xml"

xmlns:jdf="http://www.CIP4.org/JDFSchema_1"><jdf:JDF Type="Combined" ... > ...</jdf:JDF>

</INTERNAL_DATA></TICKET>...

</PPML>

Page 39: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 39

HP DigitalPublishin

gSolutions

Steve Hiebert

job ticket referenced from PPML

<PPML><TICKET Format="application/vnd.cip4-jdf+xml">

<EXTERNAL_DATA Src="MyTicket.jdf"/></TICKET>

</PPML>

Page 40: Integrating JDF and PPML

September 11, 2002 Integrating JDF and PPML

Page 40

HP DigitalPublishin

gSolutions

Steve Hiebert

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/

Page 41: Integrating JDF and PPML

Related Documents