Documentation For The "Other" ntp (HP/Epson Printing)

Until this afternoon, I only knew ntp as network time protocol. But installed on our Windows 2008 server is a different ntp as shown below with ntp -?.

I am looking for documentation above and beyond what came out in help. I want to send a duplex command to the printer.

Any ideas or pointers to documnentation would be appreciated. For example, if you look at -@ as the first option, our MUNIS printing uses these files. I want to know what those commands are. They are not specific to MUNIS. They are specific commands to the printer. I've added a sample file at the end of this post.

C:\Windows\system32>ntp -?
v1.09 Usage: piped_data | ntp.exe -dPrintDevice <options> <InputFile>

                 (Epson)                                    (Default)
-@ <options file>:   File containing (these) option settings:
-d <printer>     :   Name of printer, ex. '\\svr\hplaser'   :
-r <filename>    :   Redirect output to file (PCL format)   :
-n <# copies>    :   Number of copies                       :  1
-o <orientation> :   P=Portrait  L=Landscape                :  P
-l <lpp>         :   Lines per page                         : 66
-i <lpi>         : * Lines per inch                         :  6
-v <VMI>         :   Vertical Motion Index                  :  7.2
-m <top margin>  :   Top margin                             :
-z <point size>  :   Point Size (font height)               : 12
-s <spacing>     : * 0=Fixed  1=Proportional                :  0
-p <pitch>       : * Character per Inch                     : 10
-e <left margin> : * Left margin                            :
-b <bin>         :   0=Current 1=Main  2=Manual  5=Lg tray  :  0
-t <typeface>    :   0=Line Ptr  3=Courier  4101=TimesRoman :  3
-y <sym set>     :   8U=Roman-8  0B=Line Draw  0O=OCR-A     : 8U
-w <stroke wt>   : * 0=Medium  3=Bold                       :  0
-u <setup string>: * Override built-in setup, ex. '\033E'   :
-f               : * Append FormFeed (eject) at document end:
-q               : * Debug flag, shows escape codes on scrn :
-x <emulation>   :   H=HP Laser, E=Epson FX, R=Raw mode     :  H


Default emulation is HP PCL-5.  Use '-x E' for Epson FX.

Options file format (-@ flag):
        Options file settings OVERRIDE the same option on command line.
        Enter only 1 option per line.
        Any line not starting with '-' or '/' is ignored (comment).

Examples:
        *--- Using pipe, landscape, 132 col, 66 lpp, to hp4.
             dir | ntp -d hp4 -l 66 -v 5.45 -p 13 -o L

        *--- Same as above, only using options file with 1 option per line.
             dir | ntp -@ hp4land.ntp

        *--- Using file, portrait, 80 col, 66 lpp, to \\server\hp4.
             ntp -d \\server\hp4 myrpt.txt

A space after flag is not required, -p10 or -p 10 are both ok.

ls.ntp used with the -@ <options file>.

# LS.NTP
# NTP.exe options file to setup for 'ls' mode

# Set landscape mode
# Set pitch condensed landscape mode 13.0
# Set VMI landscape mode 15.45
# Set Left Margin to 3
-o L
-p 13.0
-v 5.45
-e 3

I cannot tell if the locally installed ntp.exe is strictly a vendor's creation or part of HP's utilities, given HP and Epson are mentioned in the documentation.


Solution 1:

It appears to be a remote print queue control CLI for Windows NT print servers. Here is a mention of it in a Yahoo Group from 1996: http://tech.groups.yahoo.com/group/lprng/message/1800

Unfortunately they do not specify where it came from or any docs, but perhaps this adds some clarity to the discussion.

Solution 2:

PCL5 Printer Driver

So far I am hitting dead end on all directions searching where this ntp.exe come from. But I will make an educated guess.

The command line options, more precisely the hint, vmi, stroke wt, lpi, lpp, etc, are PCL terms. Additionally with -r to output PCL file, and input via a pipe, this should be a PCL5 printer driver. It format the incoming stream to PCL and send the output the a network printer with the RAW queue.

This is rare but not unheard of, especially in the 90s', this is an example: http://www.artwork.com/support/windows/escape.htm.

And it supporting the Epson extension I really doubt it is from HP. And it does not come with Windows NT 4.

Command Line Option

I will skip the obvious one

-v : Vertical Motion Index : 7.2

The Vertical Motion Index ( VMI ) command designates the distance between rows in 1/48 inch increments (The vertical distance the cursor will move for a line feed operation).

From http://www.devenezia.com/docs/HP/index.html
VERTICAL PRINTER AREA DEFAULTS
1.)Portrait Letter (8 1/2 x 11)    = 10 inches
2.)Portrait Legal (8 1/2 x 14)     = 13 inches
3.)Landscape letter (11 x 8 1/2)   = 7.5 inches
4.)Landscape letter (14 x 8 1/2)   = 7.5 inches

Example: To designate 66 lines per page on letter size paper, portrait orientation.

        10 inches / 66 lines per page x 48 = 7.27

-t : 0=Line Ptr 3=Courier 4101=TimesRoman : 3

Printer come with default font sets. Some have more. Each fond is assigned a number. You can obtain a font list and their number from your printer online menu.

-y : 8U=Roman-8 0B=Line Draw 0O=OCR-A : 8U

Same as typeface but for symbol in this case

-w : * 0=Medium 3=Bold : 0

Control if fonts/characters should be print "thick"(Bold) or "normal"(medium)

-u : * Override built-in setup, ex. '\033E' :

A "setup", or "setup string", is that sequence of (raw) PCL and/or PJL commands used to place the target printer in a specific operating mode. For example, the PCL sequence Esc&l0O selects portrait mode, while Esc&l1S selects duplex (long edge binding) operation. (\033E is Reset).

ls.ntp

It is just an option files. Instead of putting/typing all options in the command line, put all of them in a file, one option per line.

So

<something> | ntp.exe -@ LS.NTP <something>

is the same as

<something> | ntp.exe -o L -p 13.0 -v 5.45 -e 3 <something>

Reference

  1. http://www.tcmnet.com.br/www_public/downloads/Documentos/Manual%20Impressoras/PCL.pdf
  2. http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl13205/bpl13205.pdf
  3. http://www.hpmmsupport.com/MPE%20Manual/5500/B3265090848.16170/18.htm

Solution 3:

I found some MUNIS release notes that reference ntp.exe. I've never heard of it, personally and I think it came from your vendor. If you haven't searched it for strings yet, do so. A compiler signature that is shared with some of the vendor's other files might be enough to attribute authorship. The other thing you can do, obviously, is just ask the vendor.

In terms of sending a duplex command, I suspect you could use the -u argument to supply a different initialization string that contains the PCL duplex command. Something like:

# LS.NTP
# NTP.exe options file to setup for 'ls' mode

# Set landscape mode
# Set pitch condensed landscape mode 13.0
# Set VMI landscape mode 15.45
# Set Left Margin to 3
-o L
-p 13.0
-v 5.45
-e 3
-u '\033E\033&l1S'

The string '\033E\033&l1S' is a PCL reset followed by a Simplex/Duplex toggle to long-edge binding duplex. HP has a nice PCL reference on their site that I pulled this from.