NOTA: this article is not an Adobe publication, and carries no guarantees of accuracy. This article may be subject to change at any time.
Sometimes people incorrectly talk about “printer drivers” when referring to Presentment Targets. Presentment targets are customization profiles that the Print Agent uses to tailor the printer language that is written out from the Print Agent (jfmerge.exe). Unless you have specified the use of Generic Windows Drivers, it is the Print Agent that produces the printing language, without involving the Windows driver (installed to Windows, not Central) installed on the local machine.
PostScript and PCL5 are the two currently most wide spread languages in use on printers at the time of writing. Central also supports ZPL (for Zebra printers), IPL (for Intermec printers) and PCL6 (which works best with Hewlett Packard printers). It can also produce flat PDF 1.4 output.
If your printer does not appear in the list of presentment targets, but does accept one of the supported languages, then you should be able to create a new profile for your printer. The fact that there is a certain list of printers provided out of the box is more to say that these printers are tested, and they are expected to render correctly. If you create a custom profile for a different printer, there is no actual guarantee that it will work.
You can create a new presentment target for your printer. Please note that:
- fax printers are an exception – only the presentment targets provided out-of-the-box are expected to work with faxing capabilities. There is no sure way to add a different target in this case
- there is no guarantee to support custom Presentment targets. Custom targets are the creator’s responsibility
- when using multiple presentment targets for a form design, you must design for the most restrictive layout (the one with the largest margins)
How to add a Presentment target to your list in Output Designer / Editing a Presentment Target
To create a custom target, first find a target that works when used with your printer. This will depend on whether the printer is meant to understand PCL5, PCL6, PostScript, ZPL, IPL
We will assume for the purpose of this article that you have a (theoretical) printer from manufacturer “PrintBrand” and of model “100”. Its short name shall be designated as “PB100″
We further assume that using the HP LaserJet 5 Presentment target produces correct output on the PB100.
The short name of the HP LaserJet 5 presentment target is “hplj5″. The short name can be seen in Output Designer can be seen at the end of a presentment target’s name in the list of presentment targets, accessed from menu File > Presentment targets.
To create a new presentment target “PB100″ based on a pre-existing “HPLJ5″
- Open <Program Files location>\Adobe\Output Designer [version]\Config
- Locate the hplj5.ics file
- Create a copy of hplj5.ics and rename it to pb100.ics – this file name will determine its ID in Designer, and for the -asp processing option
- Open pb100.ics in a text editor (e.g. NotePad)
- Edit PrinterName and and PrinterDesc as follows:
PrinterName PB100 ; this is a comment to say it's a PrintBrand 100 ; comments start with ";" and end with the line PrinterDesc My PrintBrand 100 printer
- PrinterName identifies the printer short name – this should be kept the same as the file name
- PrinterDesc provides the description seen in the presentment targets list.
- Customize any further items you need
Most items are self-documented in the ICS files.
You can customize and add page sizes, line heights, etc.
- Save the ICS file
- In Output Designer, open menu File > Presentment targets…
- Select the PrintBrand 100 printer that you have just defined, by ticking the checkbox on its left.
- Click the button Font Setup…
- Click “OK” to come directly back to the presentment targets. This will re-compile your ICS file for inclusion in future presentment targets. This will not affect MDF files created previously – thise will have to be recompiled to benefit from your changes
- Click “OK” to close the Presentment targets window
- Use “Test presentment”, or re-compile your form for the changed ICS to take effect.
- If afterwards you wish to modify the ICS, or edit an ICS that already exists, repeat steps 4-13
You may have an issue wherein page elements in the output are displaced/moved/in the wrong location when printing to one output device, but appear correctly on another output device, or PDF.
This is because the PDF target has margins of size 0 – this means that a page element is allowed to be printed to any part of a page, even the edge. Some printers impose hard margins on their pages, and page elements cannot appear there, and this is catered for at design time by checking that the form has been designed with the most restrictive margins in mind.
You can change the margin space that JfMerge will take into account in the Presentment Target file.
To see the margins in the design layout, use menu File > Presentment targets and setting the default presentment target. The result is that in the form design, a darker area around the edges of the page will appear, indicating that the current default target has margins set, and no design element should appear there.