Marrying a Job Ticket to a Page Description Language - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Marrying a Job Ticket to a Page Description Language

Description:

JDF is a job ticketing and workflow description language that is ... sheet-collate. AttributesNaturalLang. IDPAttributeFidelity. IPPJobPriority. OutputBin ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 42
Provided by: rieku
Category:

less

Transcript and Presenter's Notes

Title: Marrying a Job Ticket to a Page Description Language


1
Integrating JDF and PPML
  • Marrying a Job Ticket to a Page Description
    Language

Steve HiebertSoftware Design EngineerHewlett-Pac
kard Company
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.

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

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

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.

6
basic structure of 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

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

9
basic structure of JDF
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

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

12
IDPrinting
  • Other Input Resources
  • ColorantControl
  • Component (Cover, Input, Proof)
  • ExposedMedia
  • FontPolicy
  • InterpretingParams
  • RenderingParams
  • ScreeningParams
  • TransferFunctionControl

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

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

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.

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

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

18
processes to model a digital print workflow mix
and match
  • LayoutPreparation
  • Imposition
  • Interpreting
  • Rendering
  • Screening
  • DigitalPrinting
  • Stitching
  • Folding
  • Trimming
  • HoleMaking

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.

20
A JDF Combined Process Node
21
Combined process example
ltJDF Type "Combined" Types "DigitalPrinting
Gathering Stitching" ID "J1"gt
ltResourceLinkPoolgt lt!-- digital printing
parameters --gt ltDigitalPrintingParamsLink
Usage"Input" CombinedProcessIndex"0"
rRef"L1"/gt lt!-- gathering parameters --gt
ltGatheringParamsLink Usage"Input"
CombinedProcessIndex"1" rRef"L4"/gt lt!--
Stitching parameters --gt ltStitchingParamsLink
Usage"Input" CombinedProcessIndex"2"
rRef"L6"/gt lt!-- input sheets --gt ltMediaLink
Usage"Input" CombinedProcessIndex"0"
rRef"L2"/gt lt!-- stitched output components
--gt ltComponentLink Usage"Output"
CombinedProcessIndex"2" rRef"L7"/gt
lt/ResourceLinkPoolgt ltResourcePoolgt
lt/ResourcePoolgt lt/JDFgt
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

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

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

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

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

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.
28
a partitioned RunList
ltRunList ID"Link0003" Class"Parameter"
Status"Available" PartIDKeys"Run"gt ltRunList
Run"1" Pages"0-1"gt ltLayoutElementgt ltFileSpec
URL"File//File1.pdf"/gt lt/LayoutElementgt lt/RunLis
tgt ltRunList Run"2" Pages"0-1"gt ltLayoutElementgt
ltFileSpec URL"File//File2.pdf"/gt lt/LayoutElement
gt lt/RunListgt lt/RunListgt
29
referencing a partitioned RunList
ltResourceLinkPoolgt ltRunListLink rRef"Link003"
Usage"Input"gt ltPart Run"1"/gt
lt/RunListLinkgt ltRunListLink rRef"Link003"
Usage"Input"gt ltPart Run"2"/gt
lt/RunListLinkgt lt/ResourceLinkPoolgt Explicit
references to partitions
ltResourceLinkPoolgt ltRunListLink rRef"Link003"
Usage"Input/gt lt/ResourceLinkPoolgt Implicit
reference to partitions
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

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

32
a resource with updates
ltDigitalPrintingParams ID"InitialDigitalPrintingP
arams" Class"Parameter" Status"Available"
Collate"None"gt ltDigitalPrintingParamsUpdate
UpdateID"CollateEnabled" Collate"Sheet"/gt ltDigit
alPrintingParamsUpdate UpdateID"CollateDisabled"
Collate"None"/gt lt/DigitalPrintingParamsgt
Note all IDs must be unique
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

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

35
resource update before
ltDOCUMENT ...gt ltTICKET_REF ExtIDRef"Media_CoverS
tock"/gt ltPAGE ...gt ltMARK...gt... lt/PAGEgt ltTICK
ET_REF ExtIDRef"Media_White"/gt ltPAGE
...gt...lt/PAGEgt ltPAGE ...gt...lt/PAGEgt ltPAGE
...gt...lt/PAGEgt ltPAGE ...gt...lt/PAGEgt ltTICKET_REF
ExtIDRef"Media_CoverStock"/gt ltPAGE
...gt ltMARK...gt ... lt/PAGEgtlt/DOCUMENTgt
36
resource update within
ltDOCUMENT ...gt ltTICKET_REF ExtIDRef"Media_White"
/gt ltPAGE ...gt ltTICKET_REF ExtIDRef"Media_Cover
Stock"/gt ltMARK...gt... lt/PAGEgt ltPAGE
...gt...lt/PAGEgt ltPAGE ...gt...lt/PAGEgt ltPAGE
...gt...lt/PAGEgt ltPAGE ...gt...lt/PAGEgt ltPAGE
...gt ltTICKET_REF ExtIDRef"Media_CoverStock"/gt
ltMARK...gt ... lt/PAGEgtlt/DOCUMENTgt
37
PPML TICKET
  • May contain or refer to the JDF job ticket
  • INTERNAL_DATA
  • EXTERNAL_DATA
  • Format attribute
  • E.g., application/vnd.cip4-jdfxml
  • Not yet registered with the IANA
  • xml described in IETF RFC 3023
  • http//www.rfc-editor.org/rfc/rfc3023.txt

38
job ticket embedded in PPML
ltPPMLgt ltTICKET Format"application/vnd.cip4-jdfxm
l"gt ltINTERNAL_DATA Encoding"text/xml"
xmlnsjdf"http//www.CIP4.org/JDFSchema_1"gt ltjdf
JDF Type"Combined" ... gt ... lt/jdfJDFgt lt/INTER
NAL_DATAgt lt/TICKETgt ... lt/PPMLgt
39
job ticket referenced from PPML
ltPPMLgt ltTICKET Format"application/vnd.cip4-jdfxm
l"gt ltEXTERNAL_DATA Src"MyTicket.jdf"/gt lt/TICKETgt
lt/PPMLgt
40
for further reading
  • JDF 1.1a Specification
  • http//www.cip4.org/documents/jdf_specifications/i
    ndex.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/

41
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com