Controlling DesignMerge paper tray pulls and finishg options using PostScript

This document describes how to embed PostScript commands into a DesignMerge variable data merge session to control paper tray pulls and other finishing options.

DesignMerge offers a feature that allows you to inject PostScript code into PostScript output as it is being created during a merge session. Typically, this feature is used to control paper tray pulls, but there are no restrictions on the type of PostScript code that you can embed.

FIRST STEP: DETERMINE THE POSTSCRIPT CODE

The first thing you need to know is the appropriate PostScript code to inject that will cause the proper option to be selected. This example will focus on paper tray pulls. Here is some code that we have tested on our own office printer:

mark
{
  %%BeginFeature:
  <</MediaPosition 3 /ManualFeed false>> setpagedevice
  %%EndFeature
} stopped cleartomark

On our printer, this defaults to our plain paper tray, identified as "MediaPosition 3" in the above code. If I want the paper to instead be drawn from the glossy paper tray, I just need to adjust the code to indicate "MediaPosition 0", which for our printer pulls from a different tray. This same code should work for you, but you may need to experiment by changing the numbers to identify the tray positions on your own printer. Typically the tray "numbers" begin with 0 (so for a printer with five paper trays they would be numbered 0,1,2,3,4).

Another option you can try is to use "MediaType" or "MediaColor". Both of these commands accept a parameter that matches the name assigned to the tray Type or Color on the press. We have used these successfully at customers that have assigned these named attributes to different trays on their press. Two examples are shown below:

%% Example of using MediaType to control paper tray selection
mark
{
  %%BeginFeature:
  <</MediaType (Threehole) >> setpagedevice
  %%EndFeature
} stopped cleartomark
%% Example of using MediaColor to control paper tray selection
mark
{
  %%BeginFeature:
 <</MediaColor (Green) >> setpagedevice
  %%EndFeature
} stopped cleartomark

Regardless of the PostScript code you select, the procedure for injecting the code during a variable data printing session will be the same, as described below.

What if the example code does not work?

Many printers support the PostScript "setpagedevice" command in a similar fashion, but if for some reason the examples presented above does not work properly you should check with your printer manufacturer to determine the appropriate PostScript code for controlling paper tray switching and other finishing options. If that information is not available, one simple option for determining the PostScript code to use for a paper tray pull would be to print a document as a PostScript disk file. You will print the document twice. For the first print select Tray 1, and for the second print select Tray 2. Then, use a text editor (like BBEdit for the Macintosh, which is free) that provides a file comparison feature and compare the two PostScript files. There should be very few differences between the files you printed, and one of those differences is certain to be the code that controls the paper tray selection. Once identified, just make a copy that code and you are done!

NEXT STEP: CREATE A POSTSCRIPT CONTROL FRAME

Once you have the PostScript code, you now need to use a feature of DesignMerge called a Control Frame. A Control Frame is a specially identified InDesign text frame that is processed in a specific fashion. To create a PostScript Control Frame, please do the following:

  1. On the page of the document where you want to do the paper tray pull, create an empty InDesign text frame. The frame must be placed somewhere on the live area of the page.
  2. Select the frame by clicking on it using the InDesign Selection/Pointer tool.
  3. Open the DesignMerge menu and choose Utilities > Print Driver > Control Frame > Create.
  4. Open the pop-up menu and select the option Insert PostScript at Page Start.
  5. Click OK to close the window

If you are in the InDesign Normal screen view mode, you will see a colored border drawn around the frame.  This identifies the frame as a DesignMerge Control Frame. Note the frame is non-printable, so you can just leave it anywhere on the live area of the page.

FINAL STEP: PASTE IN YOUR CODE AND RUN THE JOB

After you create the frame, paste into that frame the PostScript code that you determined in the first section. That should be all you need to do. Now when you start up a DesignMerge PostScript session, the PostScript code you pasted into the frame will be downloaded at the start of the page each time that page is processed, thus causing that PostScript code to be processed (in this example, instructing the printer to print the page from a different paper tray).

ADJUSTING SUBSEQUENT PAGES

One thing to be aware of is that once you change the tray using this method, all of the document pages for the job from that point forward will be pulled from the specified tray. If your document contains additional pages (after the page where you did the paper tray call), you need to reset the subsequent pages to default to the original paper tray.

This is easy to accomplish by placing a different Control Frame on the page where you want the original paper tray pulls to restart. The easiest way to do this is to copy/paste the entire Control Frame that you created for the original page, and paste a copy of that frame onto the page where you want normal tray pulls to begin. Then all you need to do is adjust the PostScript code in the frame to pull paper from the original paper tray. This change will then be in effect for all of the subsequent pages.

CONDITIONAL TRAY CALLS

One final note is that you can also use DesignMerge to perform conditional tray calls. To do this, you make variable the actual tray number (or Type/Color) in the PostScript code that you pasted into the Control Frame. Just assign a DesignMerge variable link to the tray Number/Type/Color text. In this fashion, you can pull the tray number that you want from a database field, or create a DesignMerge rule that will set the desired tray number based on some other criteria. The point is that the text that is in the Control Frame can be made variable because it will be processed by DesignMerge during the merge session, just like any other text in the document.

SAMPLE DOCUMENT

Please click the link below to download a sample document that you can run with your DesignMerge software to test the tray pull capability on your press:

DesignMerge Tray Pull Sample Document

If you have any questions on the use of tray pulls, please contact Meadows Technical Support.