[JaxPM] RE: pcl module

JONES, WILLIAM C wcjones at exchange.fccj.org
Wed May 2 04:29:40 CDT 2001


On the jacksonville-pm-list; Jax.PM'er "JONES, WILLIAM C" <wcjones at exchange.fccj.org> wrote -

 See below for code...

-----Original Message-----
From: Mark Keehn
To: jax at jacksonville.pm.org
Sent: 5/2/01 1:46 AM
Subject: pcl module

This seems to be the best location for me to attempt to obtain
information on
where I can get this Printer Control Language perl module.  Can you
advise me of
if you have it available and how to get it if you do have it.

Thanks

Mark Keehn



======  -Sneex- Reply  ==================================


Hmmmm...  If you send me your FAX number I might be able to fax you a more
complete set of commands (written in Progress 4GL.)

Well, it is neither done, nor a module, but here is what I have so far; none
of it works.  I more or less abandon this work in 1999.  Sorry.  Progress
4GL under CTOS and Perl (et al) are not quite the same when it comes to
dumping raw data directly to the HP PCL engine.


# HP LaserJet III & 4 (both families) PCL-5 printer control set... 

# Draft 1 ... Please bear with me as this is 'yet again' a work in progress.

# (I lost the originals I had done in 1995 under CTOS using Progress 4GL; 
# so I am now re-distributing them for Perl -  Enjoy!  :) 

# Copyright (C) Bill Jones 1995,1999; All Rights Reserved. 
# (This document was developed using material obtained in the public 
# domain but which is Cpyrighted (C) HP 1990; All Rights Reserved.  All or 
# Part of this document may be reproduced as described by licensing 
# prodecures of HP Corp.) 

# The following commands and accompanying discussion can be found 
# in the HP PCL 5 Printer Language Technical Reference Manual (c)1990. 

# Initialization and Job Control ### 
# StartEscape 
$pcl_startesc   = '\033';  # I need to see if this is octal or not... 

### JobControl, Reset, Number of Copies 
$pcl_jc                 = '&l'; 
$pcl_reset              = 'E'; 
$pcl_numcopies  = 'X'; # Then give number of copies, range is 0-99... 

### Duplexing ### 
#Simplex/Duplex Bindings? 
$pcl_sdmode             = 'S'; # Then give 0 (Simplex), 1 (Long), 2
(Short)... 

# Offset Registration 
$pcl_lor                = 'U';  # Left (Long edge) registration... 
$pcl_tor                = 'Z';  # Top (Short edge) registration... 

# Duplex side 
$pcl_duplex             = 'a';  # 0 = Select next side, 1 = Select Front, 2
= Select Back 
$pcl_dupstop    = 'G';  # 'Tail' of the Duplexing command... 

# Job Separation - Identify one printing job from another... 
$pcl_jobsep = '\033' . '\&l1T'; # a complete command... 

### Page Control - Source, Size, orientation, Margins, and Text spacing...
### 
# Page Size 
$pcl_size               = 'A';  #  Notes about this forth coming...  :] 

# Page Length 
$pcl_length             = 'P';  #  Notes forth coming 

# Page Source 
$pcl_source             = 'H';  #  Notes forth coming 

# Orientation 
$pcl_orient             = 'O';  #  Notes forth coming 

# Print Direction 
$pcl_direction  = 'a';  # In degrees:  0-Portrait, 90-Landscape, 180-Reverse
Portrait, etc... 
$pcl_dirstop    = 'P';  # tail of command 

# Text Area - used to restrict printing to a specific area 
$pcl_margin             = 'a';  # Notes forth coming 
$pcl_leftmar    = 'L';  # Notes forth coming 
$pcl_rightmar   = 'M';  # Notes forth coming 

# Clear horizontal margins 
$pcl_clearhm = '9';  # Notes forth coming 

# Top Margin 
$pcl_tm                 = 'E';  # Notes forth coming 

# Text Length 
$pcl_tl                 = 'F';  # Set number of lines on page; notes forth
coming 

# Line Spacing 
$pcl_ls                 = 'D';  # set number of lines per inch, use one of 
#                                               1,2,3,4,6,8,12,16,24, or 48
ONLY... 

# 
# Perforation Skip command forth coming... 
# 

# 
# HMI - Horizontal Motion Index - command forth coming... 
# 

# 
# VMI - Vertical Motion Index - command forth coming... 
# 

# 
# Other things - like pen placement, font description, and graphics - 
# will be made available as I discover time... 
# 
  

Jax.PM Moderator's Note:
This message was posted to the Jacksonville Perl Monger's Group listserv.
The group manager can be reached at -- owner-jacksonville-pm-list at pm.org
to whom send all praises, complaints, or comments...




More information about the Jacksonville-pm mailing list