Select your language

For the full description of the ini file entries, please have a look into the ELP technical OMR reference manual manual.

The OMR (Optical Mark Recognition) functionality with ELP provides an easy to use, safe and fully automated way, for OMR barcode printing. OMR barcodes are used for automatic insertion of documents into an envelope. The barcodes are used to ensure, that the documents are correct separated and feed into envelopes by folding and inserting systems.

The OMR barcodes tell the inserter to collect the actual drawn piece of paper or to insert the actual plus the already collected pages into an envelope. In order to make the barcode safe, a parity bit may be added. Also an automatic pager numbering ensures that the inserter does not draw several piece of paper at once.

ELP supports the following inserter brands: Stielow, Hefter, Pitney Bowes, Francotyp-Postalia, PFE and Kern. Please note that other manufacturer like Neopost etc. often also support the same type of barcode printing / reading.

The OMR lines position, distance, height and width can be configured freely and are by default 7.5 mm long, 0.5 mm wide and distance between each line is exact 4.32 mm.

Calling the OMR function via the Rule assistant leads to this menu:

Depending on the used manufacturer / model some of the options might not be available, as either ELP can't handle it (ask for a quotation to add the function), or if it is for that machine turned on by default or the machine does not have that feature.

The job sequence control (paper sheet counting) can be set up for couting continuesly throughout multiple print jobs. The last sequence number is then automatically saved. If you use several printers then do not worry, the number is saved per queue. If you need to save the sequence for each input or output paper tray of your printer please get in contact with This email address is being protected from spambots. You need JavaScript enabled to view it..


Manufacturer / Product

Here is the listing of the supported machines or strokes: (See technical OMR reference manual )

  • Neopost / Stielow: Start - Insert [- Move Out] [- Feeder Bits] - [Sequence Control] - [Parity] - Stop
  • Hefter - Basis: Start - Start - Insert - Insert
  • Hefter Sequence (SI 2600): Start - Insert - Sequence Control - Group
  • PFE Automailer 2-3: Start - Insert [- Parity] - 3 Feeder Bits - Sequence Control
  • PitneyBowes Basic: Start - Safety - NOT EOC - NOT BOC - Parity - Timing 1
  • Francotyp: Start - Insert - Stop because of too many pages [- 2 Feeder Bits] [- Sequence Control] [- Parity] - Stop
  • PitneyBowes Sequence: Start - Safety - NOT EOC - NOT BOC - Parity - Timing 1 - Sequence Control - Timing 3
  • Hefter SI 3300 / SI 3500: Start - Safety - NOT EOC - NOT BOC - Parity - Timing 1 - Sequence Control - Timing 3
  • Hefter SI 2200/SSI2250 small: Start - Insert - Parity - 1 Feeder Bit - Sequence Control
  • Hefter SI 2200/SSI2250 full: Start - Insert - Parity - Don't close - 1 Feeder Bit - Halt - Sequence Control
  • Kern: Start - Insert - Move Out - 4 bit Sequence Control - 2 match lines
  • Neopost 2 row reading: Collect/Insert [- Sequence Control] [- Parity]
  • Hefter SI 4400 / SI4200: Start - Safety - NOT EOC - NOT BOC- Parity - Timing 1 [- Stop] [- Feeder 1] [- Sequence Control]

Other modifications or machine support needed, please ask.

From left print margin Distance in mm from the left print margin. Maybe set your printers to the option wide printing.
2nd Row from left edge For Neopost two trail reading only: Distance in mm from the left print margin. Maybe set your printers to the option wide printing.
From top print margin Same from top margin, please note if the OMR marks are read from bottom to the top this position is the position of the last visible line.
Print Orientation Usually 270 degrees, as the print direction is from left to right, but the barcode from top to bottom or the other way around.
Thickness Line thickness use any amount of dots. 600 units are 2.54 cm
Length Of the line in mm
Distance From line to line, also in mm

Depending upon the selected type of manufacturer model and the set options, the following options are selectable: More detailed information


Use Partity mark The security feature parity line can be turned on or off
Max. Amount of inserted pages Defines the maximum possible pages to be inserted into an envelope. Once this amount is reached the insertion command is performed.
Sequence control between jobs Sequence control is turned on and the last page number is stored and the next job starts with the next page number.
Reset Only accessible if the sequence control is enabled, manually or by default.
If selected all the per queue sorted storage files with their actual sequence counters are erased. So the next counter starts with page 0 or 1.
Amount Sequence control bit There are 5 possible entries: 2 (1 bit), 4 (2 bits), 8 (3 bits) 16 and 32 (5bits). For each print job the page count startup number is 0, unless the key OMR_COLLECTJOBS is not turned on.
Pitney Reverse counting for... (Pitney sequence and Basic, Hefter 4200,4400) reverse the insert mark, it is set on all pages except the one which triggers the envelope insertion.
Include selective addon feed... Include optionally the selective insertion of additional pages, see ELP technical OMR reference manual manual for detailed description.
Kern Optional safety line Adds the optional safety line on request for the Kern OMR barcode.
FrancoTyp Postalia: Use Low... Sets the low-level mode with just 4 lines: Start, Insert, Parity and Stop.

Like job splitting ELP needs the information which is the page of the document who gets the insertion mark (See technical OMR reference manual ). In most cases it is the last page of the letter, but sometimes, depending upon the inserter model, as well the first one.


If processing single jobs...

The insertion mark will automatically be printed on the last page of each job.
Note: For duplex printed jobs you might need to put the mark on the second last page. You can do that by using the #PREPARSEPAGECOUNT# variable and if the amount of pages are even, reduce the counter by one.
Please ask This email address is being protected from spambots. You need JavaScript enabled to view it. for an example if needed.

Trigger sequence is already... The needed insertion command Esc)s-990Z is already added by your application, e.g. MS Word.
Always insert every N pages The single document does have always exact N pages. Then ELP will split the document using an ELP_Command:
C1:#F25990R0; where # is the amount of pages. (Module FOR is needed)
So on every # page the special ELP escape sequence \x1B)s-990Z is added by the ELP command F25990, which is a dummy macro and contains only this ELP internal PCL command. The R command resets the page counter to 0, so that the next page is page 1.
Recognizing a special text.. Is used when a special search string is indicating the insertion page. Seen next options: 
Search string for method If the amount of pages of the single document varies, and the data stream does not have the insertion sequence in, then search for a special expression in the data stream and add the split information using a rule.
Please use the test function to be sure that the expression/term can be found.
ELP can handle an indefinite amount of rules for searching and splitting different data streams. You can add them later using the standard rule generator.
Test This button ensures that the entered expression is found in the datastream. Before pressing the button, the datastream first needs to be stored or printed into a file. You can use the protocol option of ELP (file in_data.prn) or simply print the job to file.
See here for ways how to capture the files without ELP.
This function is not only looking for the search term, but also checks with which method it needs to be searched.
The search ... on first page Means that the page having the searched string is the one telling the inserter to close the envelope after this page is processed.
The searched item is on the last page (top down) or first page (button up), depending how the inserter draws the pages.
The search... on last page Sometimes there is no clear expression on the last page, but here must the insertion mark be set. In that case search for an expression on the first page and tell ELP to put the insertion mark on the page before.
(Note: will NOT work with duplexed documents. here you need to search for the insertion mark on the second last page!)
Erase search argument... If the returned search mode of the Test option is Search_Binary, _Windows or _Text (not _New), the searched expression can be removed from the data stream.

A trigger in form of a special escape sequence: <Esc>)s-990Z on each (last) page to be inserted into the envelope. There are 4 ways to setup this information (See technical OMR reference manual ):

  1. If you process only single jobs, then you may use the last page method, or
  2. The trigger sequence <Esc>)s-990Z is already in the datastream, or
  3. Use the search method for adding the sequences on the last / first page, depending on how the machine draws the single sheets
  4. Use the ELP_Command method also described at job splitting but you need to use macro ID 25997!


Related articles: OMR key description, Tech Ref OMR, Postal optimization and OMR marking


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.