Select your language


  • Colored pages from a different tray may be added at the beginning or the end of the data stream to separate larger jobs.
  • Maybe complete documents have to be added for customs, tax or any other reason. The documents may differ for each printed the document.

1. Cover pages in front of each (!) job

A PCL print file called job_init.mac stored in the Workpath folder (default c:\ProgramData\Welp) is automatically inserted in front of every data stream. Any predefined ELP variables like #USERNAME#, #PRINTDOCNAME# or time and date variables available at the beginning of the job can be used.
However, the file is loaded after the ELP rule interpreter did already execute the rules before starting reading the print file. So you have the chance to change the working directory or read more variables from files (JobCounter or Variable_File) to apply more variables or evaluate them before with rules (key: TriggerSection) and change the working directory (key: WKDIR).

This file is not really passed through ELP´s interpreter, so no page counts are calculated etc. Meaning that even later on the data stream performed ELP_Commands are NOT applicable. It is just send through the variable exchange module for replacing any used variables.

Therefore the file is usually not a macro but a complete PCL5 data stream. This has the benefit that all page settings like paper tray in- and out commands are performed. So for a classic separator page situation, generate a print file with the ELP Forms & Field Installer tool and print it to a file, not using any ELP activated queues! Then copy the file into the c:\ProgramData\WELP or with WKDIR changed folder and name it job_init.mac.

Note: The file can have as many pages as you like.

2. Cover and/or footer pages / documents

The ELP_Command EB#; and EE#; can be used so send a page or also a complete document at the beginning (EB) or end (EE) of each printed job. The advantages to the method above are:

  1. That the command can be activated later based upon the data stream content and they the banner/footer pages can use collected variables.
  2. Files can be added at the end of the job
  3. Using the ELP_Command_Add more and more documents can be dynamically added

As a disadvantage is the need for licensing the FOR module.

The # in the command is the macro/form ID number.

In rare cases, the EB command is used to dynamically initialize the real data stream (Preferred id ELP_INIT_JOB), or downloading needed forms or special fonts or setting the printer into a specific state.

Usually it is used for cover / footer sheets/documents. As explained in 1. use the ELP Forms & Field Installer tool and print the document into a file and NOT through an ELP enables queue and do NOT the print file into a macro. As the job itself is the "macro" including all page size and tray initializations etc. Finally store the printed file with the name ###.mac (### is the macro number of the EB/EB command) direct in the c:\ProgramData\WELP folder.

The provided example for a cover sheet: EB22000; Inserts the ELP provided demo form 22000 at the beginning of the print job. As this command is NOT accessible via the ELP Command generator GUI you need to add the command by hand into the edit line.

Notes for PCL data streams:

  • The EB and EE command can be used several times in the ELP_Command. The intention is to have for example loaded several items at the beginning of the data stream specific fonts, like normal or bold, depending on the real addressed fonts.
  • The macro ID number must be larger than 0 and less than 32000.
  • There is no other ELP_Command performed on those 2 inserted jobs. This means, the first ELP page is the first page of the provided data stream. The EE pages do not count.
  • The Search_Binary and _Windows definitions in the ini file are performed on these macros, as well as the variables replacements.
  • There will be an UEL inserted right at beginning of the data stream.
  • If the data stream itself contains an UEL (\x1B%-12345X) or a PCL reset (\x1BE) statement, this method can't be used to set the printer.
  • An easy way to generate such is valid file could also be to print the form direct into a ####.MAC file, without converting it using the macro tab. The benefit is that all printer statements are still in the file, like choosing trays.


[For all jobs coming from application XX]

; the application does set his name into the data stream PJL part

Trigger_Binary=@PJL JOB Name="Crystal Reports- Invoice"

; if found, make a cover page


Example for dynamic documents at the end, e.g. data sheets of offered products:


; Define an ELP_Command, doing nothing


[If an offer and article number xxxxx is found in the data stream]

Trigger_Windows_New=Offerte Nummer:

; Adds print file 2000.mac with the data sheet of the article


[If an offer and article number yyyyy is found in the data stream]

Trigger_Windows_New=Offerte Nummer:


; attach form 22000 (EE22000;), wrap job in PJL commands (ET;) and staple (T200;)


; Remove maybe existing PJL wrapping



; Same example as above, but using just the forms management
; On the last page of the job add a FormFeed, Form 22000, another FormFeed and Form 22010


; If the stapling command is missing then add the T-Parameter and maybe wrap PJL around the job (ET;)
; For Duplex adding printing add S1 or S2 right after the Variable #PREPARSEPAGECOUNT#


3. Other ways to insert sheets/documents using complete ELP Commands:

Where the version 2 usually inserted fixed formatted data streams, ELP also offers the possibility insert forms with defined tray behaviors using the following ELP commands:

EA$$$$; Send a C-Command right before the first print data
EI#$$$$; Performs an ELP_Command at the beginning of the # copy
EJ#$$$$; Performs an ELP_Command at the end of the # copy
EX$$$$; Send a C-Commands right at the end of print data


4. Job Offset using the stacker option

For HP compatible printers please use the ELP_Command C#J ;



We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.