InterFormNG is able to print in PCL (Printer Control Language). The actual printer language used is PCL5c, which is supported by as good as all laser printers.
This mime type is supported on all platforms and all configurations, unless your license key limits the use.
Tray selection
There are multiple options in order to use paper from a specific tray/drawer of the printer. These options are covered in the section, Tray selection.
The special configuration for PCL printers contains these fields:
Include standard fonts
Standard fonts like e.g. Arial, Courier and Times New Roman are included on most printers, so these fonts are normally not included in the PCL output print data stream.
Some, few printers do however not know these fonts, so for those you should activate this option, if a wrong font is printed.
Fill using raster pattern
Shaded/grey boxes are normally printed as a colored box to get a smooth, nice output. Some black/white printer cannot handle this, so for those you need to activate this option. The output may however become somewhat grainy.
Full color
This option is activated as default. If active the print data stream is PCL5C (color print data), which normally is not a problem - even for black/white printers. If it is a problem, then you should deactivate this option, but the printed images may not look as nice.
Extra PCL commands
Include extra PCL command for this specific printer only. For additional help refer to the PCL meta data key, interform.destination.printer.pcl.pcl described here: List of predefined meta data keys.
Extra PJL commands
Include extra PJL command for this specific printer only. For additional help refer to the PJL meta data key described here.
For the PCL mime type, there are these special meta data keys:
interformng.mimeType
Set this to the value, application/vnd.hp-PCL if you want to print PCL without creating a printer like described above.
interform.destination.printer.printerName
Force a named printer to be used. Following these rules, a printer is selected based on what document type is being printed. However, it may be that in some cases a template designer wants to force the print to go to a specific, named printer, regardless of any rules defined other places.
interform.destination.printer.copies
Specify the number of copies to print. If you want to print only multiple identical pages, then you should set the number of copies here to ensure the best print performance
interform.destination.printer.printerId
Select a printer based on id - similar to interform.destination.printer.printerName.
interform.destination.printer.pcl.image.fullcolor
Possible values: "true", "false"
Specify if the PCL output should be in color or black and white. Default value is true meaning that the output is in color. Most black/white printers are able to convert the color images in to black/white so the default value should normally be fine. With ‘false’ the output is in black/white and you should also expect a smaller output data stream with this value. With the default value (true) you might see a problem when printing on older black/white printers, so for those printers you need to set this to false. The meta data key below (interform.destination.printer.pcl.box.fillUsingRasterPattern) should also be inspected for black/white printing.
interform.destination.printer.pcl.box.fillUsingRasterPattern
This meta data key is linked with black/white printing. As default any grey areas will be printed in a grey tone (which technically is a color), so that can cause a problem on older, low entry laser printers, that does not support any colors. Newer black/white printers does support full color in the print data stream, so normally you can ignore this. If you have a printer without any color support you can set this meta data key to true. The quality of the grey output may however look a bit ‘grainy’, compared to the normal print out.
interform.destination.printer.pcl.pcl
With this meta data you can add extra PCL commands in the begining of the PCL print out from InterFormNG. You can e.g. use this to select a specific paper drawer on the printer (e.g. to select between plain paper and preprinted paper.).
The best way to select the drawer is to set the paper type of each drawer on the printer and then insert a PCL command to select the same paper type. The easiest way to do that, is to select it on the page style.
Here is a list of the available paper types:
Paper type |
Command |
---|---|
Plain |
EC&n6WdPlain |
Bond |
EC&n5WdBond |
Color |
EC&n6WdColor |
Labels |
EC&n7WdLabels |
Recycled |
EC&n9WdRecycled |
Letterhead |
EC&n11WdLetterhead |
Cardstock |
EC&n10WdCard Stock |
Prepunched |
EC&n11WdPrepunched |
Preprinted |
EC&n11WdPreprinted |
Transperancy |
EC&n13WdTransparency |
Please notice, that the PCL commands must be written exactly as above. They are case sensitive and the space between ‘d’ and ‘S’ in ‘EC10WdCard Stock’ must be included.
Notice, that even though the printer menu might show each of these printer types in your local language you should still use the english command shown above.
If the printer does not support selection of the drawer via the paper type, you can use an alternative command: EC&l#H, where the # is a PCL drawer number. So if you e.g. want to select PCL drawer 5 the command is: EC&l5H.
Please notice, that the PCL drawer number can range from 1 to 255 and is NOT the same number as the physical drawer on the printer and that the number depends on the exact printer model used. For some printers you even need to select drawer numbers in the range 250-255, but for most you should try values in the range 1-9.
If you want to insert multiple PCL commands, you just concatenate them into the same meta data.
Please notice, that you can use the characters ‘EC’ to denote the escape character (hex 1B), which is needed in a PCL command. (It is also possible to set the hex characters instead if needed).
More help in regards to PCL drawer numbers can be found in the InterForm400 cookbook, which you can download via this link: http://download.interform400.com/shares/public/CookBook.zip
interform.destination.printer.pcl.pjl
This meta data key works like interform.destination.printer.pcl.pcl except that this command inserts a PJL command in the begining of the PCL print out. This PJL command can e.g. be used to add extra PJL commands to call functions on the printer.
multiup
Possible values are true and false. (False is default).
If you want to place multiple ‘forms’ or pages on a single page of output (often also referrred to as N-up, Multi-up or ‘pages per side’), you should normally use the label feature of the template.
Prerequisites for multiup
The multi-up feature has been built especially for the PCL output. Currently it also works for PDF and ZPL output, but the result for PDF and ZPL cannot be guaranteed. For this to work you need to design a portrait design (where the width is smaller than the length of the media). You need to respect the non-printable margin in PCL which is around 6 mm.
This multiup feature makes it possible to reuse the exact same template for 2 different sizes of output.
If you set this option to true, the output will place 2 pages on one page in the final output and the output size will be the double of what you have defined in the template. The template must be designed in portrait, and the height of the page must be equal to or larger than the width. You can set the meta data key in either the template or in the workflow.
The option will move to a new output page, if there is a change of paper size between an odd page to the following even page.
Examples:
If you set do not change this or set it to false your output will be like defined if you e.g. are creating 4 pages of A4 pages in your template:
If you now set multiup to true, then the output will change:
You now get only 2 pages of output, where the original pages are rotated and inserted in the output page, which is now twice as large as the original (Here: A3 instead of the original A4).
If we consider a setup where the page size change, then InterFormNG will adapt to the new size e.g. like below:
multiup=false:
multiup=true:
As you can see above InterFormNG will change to a new output page if the input page size should happen to change out of sequence with the page breaks of the output (i.e. if the page size changes from an odd page to the following even page).