- 论坛徽章:
- 0
|
在做WSCST之前,先介绍下HP打印机要注意的地方,必须安装HP专门用于其打印机的中文字库条/卡,好像几百块一条。另外,要花点时间学一下打印机的PCL语言,熟悉一下ESC代码;我当时是专门从HP买了一套HP PCL的手册;顺便提一下,好像每家打印机厂商的PCL都有些不同,如果要尝试其他打印机,最好还是弄套它们的手册,免得走弯路。
打印机字库条,据我所知也是有变化的,最初是象内存条的那种,以后又有SD卡的那种;这里先提下,后面会提到要注意的地方。
安装字库条后,从打印机面板上选到打印PCL字体,会出来一份PCL FONT LIST, 放在手边以后会用到。
对WSCST类型目标,我重来没找到过学习资料,只能自己摸索;先学习下IBM现成的WSCTS目标,用RTVWSCST命令获取一个和我要用的打印机最接近的IBM现成的Manufacturer type and model的打印机。随便放在一个SOURCE FILE里你可以获得一个TXT MEMBER,
我现在没AS400可以上,具体命令格式,有意者帮忙贴下。
我这里就直接贴我加工完成的了。
:WSCST DEVCLASS=TRANSFORM.
:TRNSFRMTBL.
RTDTASTRM
DATASTREAM=ESC/P.
:INITPRT
/* DATA ='1B451B266C2D3534305A'X. */
DATA ='1B451B266C2D39305A'X. <-- 这里是初始化打印机的PCL码,用ASCII码表,把它翻译成ESC码,然后查打印机的PCL手册,前面提到不同的字库条,还有不同型号的打印机,有可能这串码还不一样,而且手册上还没有。当时我是通过HP的客户经理(我们是HP的GLOBAL ACCOUNT)找到一个正真的专家,告诉他打印机型号和字库条的PART Number; 才拿到正确的指令。
:SPACE
DATA ='20'X.
:CARRTN
DATA ='0D'X.
:FORMFEED
DATA ='0C'X.
:LINEFEED
DATA ='0A'X.
:VARLSPC
VAROFFSET= 3
VARLEN= 3
VARTYPE=CHRDEC
CNVNUM= 1
CNVDEN= 48
DATA ='1B266C000000431B266C352E333343'X. <--调整打印位置
:CPI
CPI=10
DATA ='1B26743338501B283138431B28733170372E327630733062333733353754'X. <--这里定义你要打的字体和大小,这行对应CPI=10的AS400REPORT...下面几行类似,根据AS400的需求去改这里的设置,中文字体的ESCcode在PCL FONT LIST里面找。TIPS:DPI64,72,90效果很好,中文和英文可以完美对齐,其他不同设置大家可以自己去试。
:CPI
CPI=12
DATA ='1B26743338501B283138431B28733170372E327630733062333733353754'X.
:CPI
CPI=15
DATA ='1B26743338501B283138431B28733170372E327630733062333733353754'X.
RTORIENT
ORIENT=LANDSCAPE
DATA ='1B266C334F'X.
:FNTGRP.
:FNTGRPE
MINFID= 154
MAXFID= 200
FNTSTR='1B26743338501B283138431B28733170372E327630733062333733353754'X
FNTEND=''X
FNTWTH=
/* -0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'22ADAEA78FBEA777EFABEF7F696869AA'X /* 00- */
'62624A48635892514E4EADAD93AD6B6B'X /* 01- */
'48526E7878D3BB52525278D352525252'X /* 02- */
'787878787878787878785252F0D3F06A'X /* 03- */
'D3AD95A3B29590ADB2525BA895D8B2AD'X /* 04- */
'8BAD9E8295B2ADE2ADAD9A5252527878'X /* 05- */
'786A786A786A52787843437843BB7878'X /* 06- */
'7878565B437878AD78786A6A786A78F0'X /* 07- */
'A3786A6A6A6A6A6A6A6A6A434343ADAD'X /* 08- */
'959ED3787878787878ADB2787878D378'X /* 09- */
'6A43787878B278786AD3D3D3D3526060'X /* 0A- */
'78AD7878A36AB178526A787878787878'X /* 0B- */
'6A6A78786A6A78786A6A78786A6A7878'X /* 0C- */
'AD43ADD36A43789EAD43ADB1954378AD'X /* 0D- */
'907890909078876A9EAD906AF0905BF0'X /* 0E- */
'F0D3F0F0ADADD3F0785252AD78567848'X /* 0F- */
EURODATA=''X.
:EFNTGRP.
:EWSCST.
做完之后用CRTWSCST命令创建自己的WSCST,把它放到CRTOUTQ的参数里。
从小语文就不太好,大家将就看吧。有什么要帮忙的就留言给我,只要在能力范围内,我尽力吧。 |
|