UNIX下实现终端打印的几种方法

发表于:2007-07-01来源:作者:点击数: 标签:
目前,国内 银行 业大部分计算机应用系统都在 UNIX 操作系统平台上采用终端业务数据录入、业务数据打印方式进行前端业务处理。笔者将UNIX下实现终端打印的几种方法介绍如下: 一、概述 UNIX环境下终端打印是在操作系统的支持下,使用终端自身提供的功能,用命令


目前,国内银行业大部分计算机应用系统都在UNIX操作系统平台上采用终端业务数据录入、业务数据打印方式进行前端业务处理。笔者将UNIX下实现终端打印的几种方法介绍如下:
一、概述
UNIX环境下终端打印是在操作系统的支持下,使用终端自身提供的功能,用命令或程序实现终端打印。具体过程是:在终端上执行打印控制命令使终端进入打印状态,并通知打印机做好准备,在终端上输入要打印文件的文件名进行打印。打印完毕,在终端上执行打印控制命令使终端退出打印状态。
二、打印方法
1.用终端自身提供的热键功能实现打印。各种类型终端都为用户提供了打印热键,只要按一下打印热键终端就进入了打印状态,一般用cat命令查看要打印文件的文件名即可打印,打印完毕,再按一下打印热键就可退出打印状态。如HT-382系列终端的拷贝打印热键是Ctrl-F2。
2.用shell命令实现终端打印。UNIX操作系统提供了交互式的解释命令语言shell,可以方便地实现终端打印。首先找到终端打印的控制命令,还以HT-382系列终端为例,进入拷贝打印控制命令是ESC[5i,退出拷贝打印控制命令是ESC[4i。可用vi编辑一个shell命令打印文件如下:
ECHO ‘ESC[5i@# #终端进入打印状态
CAT   $1     #打印文件
ECHO ‘ESC[4i@# #终端退出打印状态
在终端上或在程序中执行此shell打印命令,后面跟要打印文件的文件名即可打印。
3.用C语言实现终端打印。同样以HT-382系列终端为例,用C语言编写终端打印程序如下:
#include <stido.h>
main(argc,argv)
int ?argc;
char?argv[]
{
char ?n;
printf(“\033\[\5\i”); 
/?终端进入打印状态?/
sprintf(n“cat%s”,argv[0]);
/?送入打印文件名?/
system(n);/?打印文件?/
printf(“\033\[\5\i”);
/?终端退出打印状态?/
}
在使用中只需在此程序后面跟要打印文件的文件名即可打印。
三、几点注意
1.终端打印前要将终端设置项中打印机类型项设置为与终端连接打印类型一致。
2.终端打印可以依业务要求选择屏幕打印(只打印屏幕显示内容)、拷贝打印(边打印边显示文件内容)、透明打印(只打印,不显示文件内容)。
3.shell打印命令中,转义字符ESC的编辑写入要先按CTRL-V键,再按ESC键方可写入。
4.C语言打印程序中,控制字符要用8进制书写,并且前面加转义字符“\”。如ESC的8进制ASCII代码为33,程序中写做“\033”。

原文转自:http://www.ltesting.net