免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5195 | 回复: 4
打印 上一主题 下一主题

实现AS400在HP打印机上的TCP/IP中文打印 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-08 18:42 |只看该作者 |倒序浏览
很久没上这个论坛了,也很久没摸AS400了;今天无聊上来浏览了下发现没有一篇文章谈到用TCP/IP的LPD/LPR协议实现AS400的中文打印,以前PUSH过IBM拿出解决方案,估计没什么指望了。

我把我在6,7年前在HP 4000系列打印机上实现AS400中文打印的经验和大家分享一下,希望有更多的人去尝试不同类型和品牌打印机上的解决方案;希望对做400仿真打印厂商的生意不要造成影响。

AS400中英文的TCP/IP打印相信很多人都试过,对其打印输出的速度是各种打印方式中最快的这点应该没有异议吧?特别是异地或大量打印时。

下面我具体描述下实现过程,

CRTOUTQ 其中相关参数如下:

Remote system: 10.10.10.1 <-- HP打印机的IP地址
Remote printer queue: TEXT <-- 这个是IBM定义的,对HP的queue一定要用‘TEXT’ 其他打印机可以查IBM关于打印的红皮书。
Writers to autostart: 1 <-- 自动起虚拟设备的数量
Connection type: *IP <-- 肯定选IP咯
Destination type: *OTHER
Host print transform: *NO
Manufacturer type and model: *WSCST <-- 关键,IBM现成的选项,至少对HP而言不能实现中文打印,所以选自己定义workstation customization
Workstation customizing object: XXXXX <-- 自己开发的*WSCST类型目标的名字
Library: XXXXX <-- 目标所在的库
Destination options: 'XAIX XAUTOQ' <-- 此字符串是IBM 某个PTF的要求,具体解决什么忘了,照抄就是了。

。。。要去做晚饭了,明天继续WSCST怎么写。

论坛徽章:
0
2 [报告]
发表于 2009-09-09 16:56 |只看该作者
在做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的参数里。

从小语文就不太好,大家将就看吧。有什么要帮忙的就留言给我,只要在能力范围内,我尽力吧。

论坛徽章:
0
3 [报告]
发表于 2009-09-10 17:03 |只看该作者
有个地方打错了‘TIPS:DPI64,72,90效果很好,。。。’应该是‘72,90dots’ 不是DPI

论坛徽章:
0
4 [报告]
发表于 2009-09-21 18:30 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2009-09-27 10:21 |只看该作者
有机会试试看。。。牛人啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP