实现AS400在HP打印机上的TCP/IP中文打印

发布于 2022-08-26 09:45:13 字数 982 浏览 10 评论 3

很久没上这个论坛了,也很久没摸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怎么写。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

哆兒滾 2022-08-29 21:17:02

有机会试试看。。。牛人啊

风情万种。 2022-08-29 14:02:02

有个地方打错了‘TIPS:DPI64,72,90效果很好,。。。’应该是‘72,90dots’ 不是DPI

遗弃M 2022-08-29 01:47:40

在做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的参数里。

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文