There are several reason where ELP needs to split mainly mail merge type of data streams: 

The technology how ELP handles the print job splitting is usually like this:

The way how data streams can be split are:

All three ways can be set in the ELP Control Center menus: Archiving and Job Distribution.

As ELP needs to ensure that each part job can be printed on it own, the part initialization is pretty complex and can be influenced using ELP keys. In the following is described how ELP processes the initialization of a new job while splitting during printing (SplitAfterEachCopy, SplitEveryPage, SplitCmdInStream, etc.) or archiving (key: OutArchiveSplitFiles).

  1. Using the OutPort method:
    a. ELP will close the connection to the port and reopen it again, right away. In case the job was split right after the last formfeed, this may lead into an empty additional job.
    b. If a cover sheet using the key: PortCoverSheet was set, the form is sent first as a separate job to the port. All variables in the cover macro are replaced with their actual values.
    Using the OutArchiveDir with the key: OutArchiveSplitFiles:
    a. ELP closes the storage file, rename it to the requested naming instructions and open in the same directory a new temporary file.
  2. Using the OutPort method and the key: DoNotInitializeNewSplitStream or the key SplitAfterEachCopy there are no additional initialization things and sequences added to the stream!

    otherwise
  3. Using the OutPort method: if a semicolon with a unique job initialization was added, those sequences are sent and the initialization is terminated.
    Example: outPort=\\#HOSTANME#\#PRINTERSHARENAME#;\x1B%-12345X@PJL ENTER LANGUAGE=PCL\x0A\x1BE\x1B&l26aO

    otherwise
  4. ELP does automatically collected the job initialization from the beginning of the job. In case the routine was not ended before, this initalizationis now added in front of the new job.
    Notes:
    a. In case the key EarseALLPJL is turned ON, the possible @PJL commands including the leading UEL are not inserted.
    b. If the key EraseAllESc is turned ON and(!) "Escape E" is the first PCL command in the job or after EraseAllPCL, then this command is also erased.
    Both is needed for example to collect data streams in order to staple them together.
  5. Then the actual stream settings like Page Size, Paper tray etc are inserted.
  6. Insert the color and shading definitions and their actual settings
  7. Insert all collected fonts and macros
  8. If the FOR module is licensed, ELP does now insert the definition of the key: ELP_INIT_PCL. if no ELP_Command is used, then define ELP_Command=K1;  and the key in any executed section.
  9. Set the correct actual font
  10. Download the HP GL initialization, if there was one.
  11. a. While splitting a single file ELP inserts now the ELP_Command defined on top of next page and the possible definition of the keys: InsertOnTopOfPage and InsertAfterNextFormFeed.
    b. Otherwise the commands between job copies.