CAPS Universe documentation  1.0.4
All you need to know to be successful
Functions
hl-pjl.c File Reference

PJL related functions. More...

Functions

void hl_pl_enter (struct hl_drv *t, enum hl_prn_lang lang)
 
void hl_pl_reset_to_pjl (struct hl_drv *t)
 
void hl_pjl_mode_printer_start (struct hl_drv *t)
 
void hl_pjl_mode_printer_stop (struct hl_drv *t)
 
static void hl_pjl_media_management (FILE *prn, const struct hl_job_options *j)
 
static void hl_pjl_duplex_management (FILE *prn, const struct hl_job_options *j)
 
void hl_pjl_mode_job_start (struct hl_drv *t, struct hl_job_options *j)
 
void hl_pjl_mode_job_end (struct hl_drv *t)
 

Function Documentation

◆ hl_pl_enter()

void hl_pl_enter ( struct hl_drv *  t,
enum hl_prn_lang  lang 
)

◆ hl_pl_reset_to_pjl()

void hl_pl_reset_to_pjl ( struct hl_drv *  t)

◆ hl_pjl_mode_printer_start()

void hl_pjl_mode_printer_start ( struct hl_drv *  t)

◆ hl_pjl_mode_printer_stop()

void hl_pjl_mode_printer_stop ( struct hl_drv *  t)

◆ hl_pjl_media_management()

static void hl_pjl_media_management ( FILE *  prn,
const struct hl_job_options *  j 
)
static

Handle the medium's type, format and orientation

Parameters
[in]prnWhere to send the PJL command to
[in]jPrinter and Job specific options

Based on the MEDIATYPE option the printer adapts its temperature of the fixing unit for a useful print result

Based on the PAPER option the printer adapts the OPC drum width the laser reaches. Or in other words: it defines the startposition of the leftmost dot (3 mm away from the left medium's edge).

Todo:
What about INTRAY*SIZE instead of PAPER ?

I guess, the ORIENTATION option is useful only for smaller media than letter or A4 to inform the printer about the real geometry to print to. Think about a DIN C6 envelope: printing on it makes a real difference if its inserted in landscape or portrait.

Todo:

What about the media source? SOURCETRAY (AUTO, MPTRAY, TRAY1 …)

What about the manual feed medium size? MPTRAYSIZE

◆ hl_pjl_duplex_management()

static void hl_pjl_duplex_management ( FILE *  prn,
const struct hl_job_options *  j 
)
static

Handle the medium's simplex versus duplex print

Parameters
[in]prnWhere to send the PJL command to
[in]jPrinter and Job specific options

The simplex/duplex mode should be set explicitly, because at the printer a default can be set. And the default might not be the print mode the user expects for his/her print job.

Precondition
This command makes sense only for printers which are capable to print in duplex.

◆ hl_pjl_mode_job_start()

void hl_pjl_mode_job_start ( struct hl_drv *  t,
struct hl_job_options *  j 
)

◆ hl_pjl_mode_job_end()

void hl_pjl_mode_job_end ( struct hl_drv *  t)