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