PPML - A Firm Foundation for the Future of Variable-Data Printing
MAY 9, 2001
Maybe you've heard of it, but you can't exactly remember
what it stands for.
"Whatever!" you're probably thinking. "Who needs
But wait. If you make your living in the field of
printing and publishing, you can't afford
not to know about PPML. So, here's the scoop.
What is PPML?
PPML stands for Personalized Print Markup Language.
Here is a basic definition:
PPML is an XML-based language
for variable-data printing.
Below, we'll flesh out this definition as we talk
more about exactly what PPML is and what it does. But first,
let's talk about where PPML came from, and why.
Who Developed PPML?
PPML was developed by The
Digital Printing Initiative (PODi).
PODi, formerly known as the Print On Demand Initiative, is
a not-for-profit multi-vendor initiative that's working to develop
the market for digital printing.
Quite a few high-profile companies belong to PODi. Here
is a list of some of them:
- Adobe Systems Incorporated
- Electronics for Imaging (EFI)
Why Did PODi Think There Was a Need for PPML?
To understand why PODi thought that PPML was needed,
you first need to understand that variable-data
print jobs are likely to print more slowly than
non-variable-data print jobs.
Depending on the types of documents that
you are printing, this
can be a mild problem, a moderate problem,
or a very severe problem. In some
situations, variable-data print jobs
print so slowly that it might not even be profitable
for a printing company to take on such jobs.
This degradation in print speed is
one of the major challenges faced by
printing companies that want to participate
in the variable-data-printing marketplace.
While they were developing the PPML specification,
the PODi members devoted much attention
to this issue.
Why Do Variable-Data Jobs Print Slowly?
As we've said, a variable-data print job will
probably take longer to print than a similar,
job. This happens because - with the variable-data-print
job - the
code for each and every text element and the code
for each and every
graphic element on each and every page must be sent to
each time that a customized version of that
page is printed, and the printer/RIP must
rasterize all of this code each time it is sent.
is the process of converting code that describes
text and graphics into the format that is
required by the "print engine," which
is the machinery that actually puts the marks
on the page.)
This is not the case
with non-variable-data print jobs. With a
non-variable-data print job, the code for the text elements
and graphic elements on each page must be sent to the
printer/RIP and rasterized by the printer/RIP only once;
then the printer can
print as many copies as required.
A simple example will illustrate this concept.
Let's say that you run an
automobile dealership, and you are going to
print 300 copies of a single-page marketing
brochure that will be mailed to potential
customers whose names and addresses are
contained in a mailing list. The brochure
has a picture of the latest model of your
manufacturer's SUV; and it also has some
text that gives the name, street address,
phone number, Web-site address, and
business hours for your
If you are truly printing "copies"
(i.e., if all the brochures are identical),
the code that describes the brochure's text and
graphic elements will be sent to your
printer/RIP by your computer only once.
The printer/RIP will rasterize this code, and
then it will print the 300
brochures. The computer doesn't need to
download the code for the text and graphics 300 times,
and the printer/RIP doesn't need to rasterize the code
300 times. Instead, the computer
downloads the information once, and the printer/RIP
once and keeps the raster image
(the result of the rasterization process)
in memory until
the 300 pages have been printed.
Now let's say that you decide to customize
the brochures in some way. For example,
you might decide to
tailor the picture of the car on the brochure
to the anticipated preferences of the person
to whom it will be mailed.
You decide that a person's age might be a
good indicator of the type of car that
he or she might be interested in. Fortunately
for you, your mailing list contains each
person's birth date as well as the person's
name and address. So you decide to put a
photo of an economy
car on the brochure that will be mailed
to people under the age of 25 (these folks
are probably in college or are just starting
out in their careers), you decide to put
a photo of an SUV on the brochures that you
will mail to people between the ages of
25 and 50 (many of these individuals probably
have children and are likely to
want a large, rugged vehicle), and you decide
to put a photo of a luxury sedan on the
brochures to be mailed to people over the age
of 50 (these people are likely to be more
affluent and are likely to place a higher
value on comfort than the other two age groups).
Now - unless you are utilizing special variable-data-printing
technology - when it's time to print the 300
customized brochures, your computer will need to download the code for
300 pages of text and graphics to your
printer/RIP instead of downloading the code for
just one page, and the printer/RIP will need
to rasterize 300 pages of code instead of
rasterizing one page of code. Why? Because
printers/RIPs are generally "page-oriented."
In other words, a page is the smallest printed element
that a printer/RIP deals with. Because of this, if
you are printing multiple pages that are not 100%
identical, your printer/RIP
needs to get the entire description of each
page to be printed.
It's a Problem of Redundancy Problem!
If you think about the situation described above,
it becomes obvious that what's needed is some way
to eliminate redundancy. In this example, only
three different photos are being used (the economy car, the SUV, and the
luxury sedan). Nevertheless, your computer
has to download code for 300 photos,
and your printer/RIP has to process all of
your computer has to download the code for the text on the
brochure 300 times, and your printer/RIP has
to process this code 300 times - even though exactly the
same text is being used on all of the brochures.
So now you can understand why print speed
is a major challenge when dealing with
Various hardware and software vendors have
developed proprietary technologies to address
the problem described above and thus
make variable-data print jobs print faster.
These technologies are sometimes known as
Some of the print-optimization technologies
in use currently are:
- Diamond Merge from ColorAge
- Fiery Free Form from EFI
- Optimized PostScript from Atlas Software
- VariScript from Varis
- VIPP from Xerox
- VPS from Scitex.
PODi Decides That a Common Technology is Needed
Sometime around 1998, several of the major PODi
member organizations came to understand that the
market potential of
(Color pages with high-quality, reusable content - such
as photos - pose a special challenge for
variable-data-printing projects. That's because
large amounts of data are required to represent
these color elements, and - as you've seen -
the need to transfer data to the printer/RIP multiple times
slows down the printing process.)
Although the print-optimization technologies
listed above had gone a
long way toward meeting the challenge of making
variable-data jobs print faster by reducing
the lack of a common print-optimization technology made
it difficult for interested developers of
variable-data-printing applications and devices
to anticipate a broad market.
The PODi member organizations knew that
the absence of a common print-optimization
methodology also made it confusing and
risky for printing companies to venture into
the variable-data-printing marketplace.
To address this problem, several major
PODi member organizations voted in 1999 to develop
a new print language for
personalized printing. PPML is the language that
of this development effort.
How Does PPML Work?
PPML makes variable-data jobs print faster by
allowing a printer to store text elements
and graphic elements and re-use them as needed. This
eliminates the need to send the same code to
the printer/RIP multiple times during the same
PPML accomplishes this in two ways:
Remember, we said earlier that printers generally
don't understand anything smaller than a page.
This change from "page-level granularity"
to "object-level granularity"
is a major step forward.
- By allowing printers to understand and manipulate
the components (objects) that make up a page.
This concept is referred to as "object-level
- By allowing application developers to write code
that attaches names to objects and
re-uses the objects as needed during the
process of printing a variable-data job.
In a PPML workflow, there is a PPML Producer
and a PPML Consumer.
A PPML Producer is anything that produces PPML code.
a PPML Producer is an application or a driver.
A PPML Consumer is a device, process, or system
that reads and interprets PPML code. Typically,
a PPML Consumer is a printer, RIP or Digital Front End (DFE).
Is PPML Being Used by a Lot of Companies?
PPML is an emerging technology. It is not in widespread use yet,
but thanks to support from high-profile organizations such
PPML is gaining momentum fast.
- Adobe Systems Incorporated
- Atlas Software BV
- Datalogics, Inc.
- Electronics for Imaging (EFI)
- Meadows Information Systems
- Xeikon, and
Which Hardware and Software Vendors are Supporting PPML or Planning to Support PPML?
As of this writing (May 2001), there are
several vendors that offer products which
support PPML and several other vendors that are
current working toward supporting PPML. Here is
some information about some of these vendors
VIPLine software from Barco Graphics supports PPML. VIPLine
is an authoring product for variable-data documents.
- The Macintosh version of Atlas Software BV's
PrintShop Mail application
generates PPML output. PrintShop Mail is a variable-data-printing application.
- Datalogics, Inc.
is implementing support for PPML in its
DL Formatter variable-data-publishing system.
- The NewLeaf variable-data-printing
solution from PrintSoft supports PPML.
- The TUKANDA variable-data-printing
solution from Solimar
Systems, Inc. supports PPML.
- DesignMerge variable-data-printing
software. DesignMerge is a QuarkXPress XTension.
- The Mpower and Persona variable-data-printing solutions
both generate PPML output.
- Elixir Technologies Corp. is
adding PPML support to its Opus variable-data-publishing system.
- The Barco Graphics
PrintStreamer product accepts PPML as input. Barco's PrintStream
is a workflow component known as a "press server."
PrintStreamer provides storage of rasterized
pages and transfers data to the print engine at
a very fast rate. This maximizes the performance
of the print engine, allowing variable-data
documents to be printed quickly. Barco's
PrintStreamer is used with different press/printer
architectures, including the Xeikon DCP/320-D and DCP/500-D,
the IBM InfoColor 130, and several models of Xerox printers.
- The Xeikon eMerge
digital front end (DFE) supports
PPML. The Xeikon eMerge DFE is integrated with
the Xeikon CSP 320 D cut-sheet digital color
- In February 2001 at the On Demand Conference
in New York City, IBM conducted a technology demonstration showing the ability
of the IBM Infoprint Color 130 Plus to support
PPML within the AFP (Advanced Function
Presentation) workflow for printing variable-content
- The EFI Fiery EX2000 variable-data server
accepts PPML input.
How Should I Go About Setting Up a PPML-based Variable-Data-Printing System?
If you are thinking about using PPML technology
in your workflow, your best bet is to go with
a PPML Producer and PPML Consumer that were
designed to work together or were at least
All PPML Producer
implementations are not identical, nor are all
PPML Consumer implementations identical. In some
cases, the differences can be attributed to the
fact that PPML technology is not yet mature.
In other cases, there are differences among
PPML systems from various vendors because
some vendors have chosen not to support
certain parts of the PPML specification. For
example, some PPML Producers and PPML Consumers
while others do not.
Bottom line (we've said this once, but we'll
say it again because it bears repeating): to
minimize compatibility problems when creating
a PPML-based variable-data-printing system, invest
in system components that were designed to
work together or at least were tested together.
Several software and hardware vendors have
formed PPML-related alliances. Details about
some of these vendors and their products are
Electronics For Imaging (EFI) and Pageflex: Last
year, Electronics For Imaging (EFI)
introduced the use of PPML in several RIPs for
color machines running at 12 to 60 pages per
minute (ppm). In February, 2001 EFI
and Pageflex, Inc. announced
a software-development and licensing agreement.
Under the agreement, the companies will
incorporate Pageflex's PPML-based
into EFI products to be distributed through
Xeikon and Pageflex, Inc./Meadows Information Systems:
The Xeikon CSP
320-D cut-sheet printer with the Emerge font end
accepts PPML as input. Xeikon supports Mpower and
Persona from Pageflex.
Xeikon also supports DesignMerge from Meadows
Information Systems. (DesignMerge will support
PPML in an upcoming release.)
EFI and Atlas Software BV: Atlas
Software BV's PrintShop Mail software is being offered by
EFI as part of EFI's
Fiery Velocity Design product. (As mentioned earlier,
the Macintosh version of PrintShop Mail produces PPML.)
Heidelberg and Atlas Software BV: Atlas
Software BV's PrintShop Mail software is being offered
by Heidelberg for
printing on Heidelberg's black & white Digimaster 9110 System.
(Again, the Macintosh version of PrintShop Mail generates PPML.)
For more information about PPML,
Let our Wizard help you find the right product!
Copyright © 2001-2017 Citation Software Inc.