Your data is a representation of two PCL5 escape sequences.
The
^[ character pairs are the method used by some source applications/operating regimes to represent/generate the (non-graphic) control-code Escape character (the character with decimal code 27, or hexadecimal 1B, or octal 033); the character is often referred to as the <Esc> character.
Your two sequences are interpreted as follows:
Code:
<Esc>&l0O Orientation: Portrait
<Esc>&k4S Pitch Mode: Elite (12 cpi)
Note that the 'Pitch Mode' sequence is considered to be obsolete, although it is usually still supported/actioned on modern LaserJet devices (but only for scalable fixed-pitch fonts, which basically limits it to Courier or LetterGothic fonts); the modern equivalent is to use 'font selection' sequences.
As you are obviously using PCL5 escape sequences, this answers one of the questions I posed, but not the others (some of which may or may not be relevant).
To select Landscape Orientation and Duplex (long-edge binding), use the following sequences:
Code:
<Esc>&l1O Orientation: Landscape
<esc>&l1S Simplex/Duplex: Duplex Long-Edge Bind
These can be combined into a single sequence:
Code:
<Esc>&l1o Orientation: Landscape
1S Simplex/Duplex: Duplex Long-Edge Bind
because they have the same root, so that the '<Esc>&l' doesn't need to be repeated for the second sequence; only the last part of the combination sequence uses an upper-case 'termination' character, the other parts (in this case only one) use the lower-case 'parameter' character equivalent.
For the 'two-up' part of your requirement, how easy this will be to do depends on just how directly you are generating the print stream.
- If you have complete control, you can set line spacing, font size (part of the set of font selection sequences), then use precise positioning of each line.
- If you are merely supplying 'initialisation sequences' to a primitive spooler/driver system, then appending plain text lines, each terminated by a LineFeed (<LF>) character, then you'd still need to set line spacing and font size and something like 'text lines per page' in the initialisation, and rely on the line spacing to advance each 'line' - but this wouldn't distingush between pages unless the original text file contained FormFeed (<FF> characters at appropriate points.
-