Difference between revisions of "UEL"
(Created page with "The Universal Exit Language (UEL) actually is not a real job control ‘language’ but a single command used to terminate the curre...") |
|||
Line 1: | Line 1: | ||
− | The Universal Exit Language (UEL) actually is not a real [[Fundamentals#Printer_Control_Languages|job control]] ‘language’ but a single command used to terminate the current data stream: the escape character (<code>\x1b</code>), followed by <code>%-12345X</code>. It was originally introduced with HP's [[PCL]] and is supported by most modern laser printers. | + | The Universal Exit Language (UEL) actually is not a real [[Fundamentals#Printer_Control_Languages|job control]] ‘language’ but a single command used to terminate the current data stream: the escape character (<code>\x1b</code>), followed by <code>%-12345X</code>. It was originally introduced with HP's [[PCL]] and is supported by most modern laser printers. A good practice of ‘printer drivers’ is to invoke the UEL at the beginning and at the end of each print job, so interpretation of the printer language is stopped/restarted and each job has its own, separate environment as shown below: |
+ | |||
+ | \x1b%-12345X | ||
+ | @PJL SET PAPER=A4 | ||
+ | @PJL ENTER LANGUAGE=PCL | ||
+ | ... | ||
+ | [PCL datastream] | ||
+ | ... | ||
+ | \x1b%-12345X | ||
+ | |||
+ | Otherwise, for example PJL settings like paper media size or PostScript definitions set in one print job would influence the next job. The UEL can be handy to string together multiple jobs into a single file/datastream sent to the printer. This can be used to fool [[Accounting_bypass#Page_counter_manipulation|hardware page counters]] or to switch the printing language in advances [[Cross-site printing#Limitations_of_cross-site_printing|cross-site printing]] attacks, for example. |
Latest revision as of 17:43, 28 January 2017
The Universal Exit Language (UEL) actually is not a real job control ‘language’ but a single command used to terminate the current data stream: the escape character (\x1b
), followed by %-12345X
. It was originally introduced with HP's PCL and is supported by most modern laser printers. A good practice of ‘printer drivers’ is to invoke the UEL at the beginning and at the end of each print job, so interpretation of the printer language is stopped/restarted and each job has its own, separate environment as shown below:
\x1b%-12345X @PJL SET PAPER=A4 @PJL ENTER LANGUAGE=PCL ... [PCL datastream] ... \x1b%-12345X
Otherwise, for example PJL settings like paper media size or PostScript definitions set in one print job would influence the next job. The UEL can be handy to string together multiple jobs into a single file/datastream sent to the printer. This can be used to fool hardware page counters or to switch the printing language in advances cross-site printing attacks, for example.