Go Green

Q: Our application sends out fixed 2 copies in sort order 111 222 in one data stream. But we need only one

Here are the rules to get rid of 50 % of the pages. While reading the data stream into ELP´s memory, the job name definition is searched in the print file header and stored into a variable, While writing out, the same PJL command is searched, which is usually in every print job. And when found the PJL command for stop printing after X pages is added in the same line behind the job name.

[GLOBAL]

; turn preparsing on, that we get the actual job page numbers in the variable: #PREPARSEPAGECOUNT#

PreParsing=ON
ELP=ON

; Define a variable for the job name:

Variable=#MYJOBNAME#:0000

[Search job name in PJL header]

Search_Binary=@PJL JOB NAME=

; as this might be a long one, store it to a variable with enough capacity (e.g. 100 Bytes):

StoreNextWordToVariable=#MYJOBNAME#;100

; speed up:

Search_Only_Once=ON
ReadOnlySearchKeys=ON

[While writing out]

; search while writing out the header again:

OutSearch_Binary=@PJL JOB NAME=

; if found, then decrease the page count counter to the half:

Counter=#PREPARSEPAGECOUNT#;/2

; and add behind it the START/END sequences.
; By setting the following text into a comment you can simulate an "insert binary" command :)

Add_Binary=#MYJOBNAME# START=1 END=#PREPARSEPAGECOUNT#\x0D\x0A@PJL SET COMMENT=

; speed up:

Search_Only_Once=ON

The same result can be achieved by using 2 ini files:

1. convert.ini which calls the SetLastPrintPage.ini when the PJL JOB command is found

[GLOBAL]

PreParsing=ON
ELP=ON

[Search job name in PJL header]

Search_Binary=@PJL JOB NAME=
Counter=#PREPARSEPAGECOUNT#;/2

; and just call a new inifile to

iniFile=#ELP_FORMS_PATH#SetLastPrintPage.ini

2. SetLastPrintPage.ini which just needs this rule: when executed it adds the needed PJL extension at the end of the PJL JOB NAME job initalisation

[Search for the next line end]

Search_Binary= \x0D

; Search_Binary=\x0A sometimes the CR character is not used, then search for Line Feed

Add_Binary="#MYJOBNAME# START=1 END= #PREPARSEPAGECOUNT#"
Search_Only_Once=ON
ReadOnlySearchKeys=ON