Understanding the transform objects and the custom steps (transforms) subsystem

Transforms are InfoPrint Manager objects (like queues and destinations) that you create and configure in InfoPrint Manager. Transforms can be viewed as custom steps that receive data in a particular format or formats, process the data in some way, and output the changed data. When you create a transform, you have complete control over what data format or formats it operates on and what type of processing it does. The processing that the transform performs can be anything from simply copying the data to a different place on disk, to filtering the data stream that the transform receives (for example, to remove a particular PostScript order), to transforming the data to a completely different format (for example, converting PCL to AFP).

When you create a transform, you specify several things, including:

  • Input data format

    The data stream that is sent to the transform. The input data format is what the transform uses to determine whether it has any work to do. If you send a PostScript job through a transform that has its input data stream set only to PCL, the job will bypass the transform without being changed at all. You can set the transform to accept multiple input data formats.

  • Transform options

    The program or command that actually does the work of the transform; what happens during the processing stage. The transform options can be system commands (such as copy), programs provided with InfoPrint Manager (such as ps2afp), or your own custom transform programs (for example, mypclfixup).

    When you create a transform, you specify the complete command line needed to invoke this program or command. In this command line, you can also specify various substitution variables, place holders which InfoPrint Manager replaces with a value when InfoPrint Manager runs the transform. For example, if you include %i in the line, InfoPrint Manager will replace it with the name of the file that the transform receives; if you include %o, it will be replaced with the name of the file that the transform needs to put the changed data into.

  • Output data format

    The data stream that results from the transform. You can only specify one output data format.

In addition, you can specify whether you want the file that the transform produces to be printed. If the transform does not return the file to be printed (for example, if the transform completes its processing and saves the file to a different location), it is called a terminating transform. In addition to the terminating transform, you can also create a conditionally-terminating transform. To create this, define a unique return code to indicate the transform was successful but does not return data to print.

Transforms do not do anything by themselves. They remain inactive until you associate them with an actual destination as a transform sequence. A transform sequence is an attribute of an actual destination that contains an ordered list of transforms. Every job that is submitted to that actual destination is sent through that list of transforms in the order specified before it is printed.

InfoPrint Manager lets you create a sequence for transforming print data before the system sends it to a printer. This provides users with a feature similar to the configurable transform sequences that you could create in PSF/2 using the XFMFLTR utility. For more information about creating transform sequences, see Defining a custom step (transform) sequence.

  1. If you include a terminating transform in a transform sequence, it must be the last transform in the sequence.
  2. If you invoke a terminating transform for a document in a job, the entire job ends after all the documents in that job finish processing. It does not matter whether any other documents in the job use the terminating transform.