PuzzleFlow - Workflow

PF Tools Tutorial CIP3

Ink Coverage Profiles (CIP3)

Using ink coverage profiles provides an easy and efficient way to set ink coverage on printing devices. Files written in Print Production Format (*.ppf) contain some information about inks, separations and other parameters needed to print the job. CIP3 output plug-ins usually come with RIP devices as an expensive, additional toolkit. But how to generate CIP3 ink coverage profiles out of PDF/PostScript files directly, without using RIP plug-ins?


PuzzleFlow system has an ability to generate CIP3 ink coverage profiles directly from PDF files. All you have to do is to send the separated PDF files to the workflow that contains the InkExaminer module. CIP3 requires the separated data as an input, so it may be necessary to use the Separator module before InkExaminer. The InkExaminer module generates *.ppf files (optionally also DIPS ink coverage format) which are the final output data that are not supposed to be transformed in the further steps. Therefore, the module should be placed just before the output folder of the workflow queue.

For non PDF input data, just add the Normalizer module at the beginning of the workflow, so you can use the same workflow to generate CIP3 profiles out of both PDF and non-PDF input data.

A pretty nice feature of the Normalizer module is an ability to convert CIP3 profiles back into PDF preview, so that one can verify what is sent to the machine. Having the Recombiner module as well one can design a fully automated workflow that generates ink coverage profiles with attached composite PDF previews for screen verification.

Among *.ppf output files of CIP3 format, PuzzleFlow also supports alternative DIPS profiles. DIPS profile consists a histogram of ink zones description.


To build a full featured workflow for CIP3 profile generation one needs the following components:

For additional features of the workflow, such as data type recognition, we may also need Normalizer and Preflighter modules.

How to extend your workflow or provide completely new one with PuzzleFlow at your place to achieve this functionality?


The simplest workflow for CIP3 generation out of composite PDF files is shown in the illustration. The workflow can be extended with some useful features as described below.

Configuration of the InkExaminer module strictly depends on the output device. In most cases, however, you may not need to change the default presets shown in the illustration.

We may also need to configure the workflow in the way that it accepts both the separated and composite files. The problem is that the Separator module does not accept the previously separated files. However, we have a couple of ways to fix the problem.

One way is to use the Preflighter module at the beginning of the workflow that checks if the file has already been separated. The workflow will consist of two queues – the one for conditional separation on the base of preflight and the other for CIP3 generation.

Go to the Preflighter configuration. The Constraints property tab of the Preflighter module may look like the following:

Select the Policies property tab and choose Reject job option as the warning policy. It will cause that preseparated jobs won’t be passed to Separator module.

But what we want to achieve is just to omit the separation process by copying the job directly to the InkExaminer queue, not to discard the job completely.

To do so, go to the Common property tab in Preflighter module and select partial work dump to enable Archive connection. Attach the Archive module, go to the Conditional Dumps property tab and add the Archiving rule for files completed with errors (rejected). Use the same Destination as the input folder of the second queue. Use File template ${FILE}.

The configured workflow should look like in the illustration below.

There is also an alternative solution which bases on the filenames of the processed documents. The workflow described above recognizes separated and composite files automatically, so that you do not have to worry about filenames convention. In some cases, however, names of the separated and composite files are kept distinct, and while using this difference one can omit the Preflighter and Archive modules and use conditional environment expressions instead.

The workflow consists of HotFolder, Separator, InkExaminer and OutputFolder. All we have to do is to add the SKIP variable to the Separator module environment. Click More Options button, open the Variables property tab and add the SKIP variable with the following definition:


The expression shown above is substituted with true if the filename of the source file ends with the string sep. Otherwise it is set to false. Each PuzzleFlow module checks the value of the SKIP variable just before processing. If its value is true (boolean true, non-zero number or non-empty string), the module does not perform any action except passing the job to the subsequent modules of the workflow. In such a case, a progress report contains the information about skipping this step of the workflow.

There is also HOLD variable checked at every step of processing. Read the PuzzleFlow Environment manual for details.

Starting from PuzzleFlow version 3.0, even better solution comes into view. First of all, every PuzzleFlow module can be dynamically skipped or run, depending on the results on Preflighter tests.

Here we also start with Preflighter module. followed by dynamically configured Separator module. The second workflow queue receives *.ppf as an input. Normalizer module in conjunction with Recombiner generate a composite PDF preview of the CIP3 profile sent to the machine.

Preflighter configuration is the same as in the previous example, but in addition, the Create inventory option is selected.

This function enables dynamic reconfiguration of the workflow on the basis of preflight tests results. This is also achieved by SKIP variable used in Separator module configuration.

In that case, we check if the document is separated. If it is, the entire separation process is skipped. Otherwise, composite documents are separated before being spotted by InkExaminer module. See PuzzleFlow Environment for details.