阿拉伯语在收据打印机上的快速打印






4.11/5 (9投票s)
2002年5月28日
2分钟阅读

123903

2953
允许阿拉伯POS系统开发人员以最简单的方式在他们的收据打印机上工作。
演示程序的主屏幕。
引言
此控件专为那些正在开发收据打印机系统的阿拉伯开发人员设计,他们希望打印阿拉伯语/英语字符。此组件不使用打印机制造商提供的图形模式驱动程序。
它已在Citizen CBM系列上经过全面测试,并在Epson TM系列上进行测试。
该控件使用ESC命令,这是几种收据打印机制造商中最常见的命令。
历史
我们开发了一个POS软件,我们面临的问题之一是如何在收据打印机上打印阿拉伯字符,而无需使用Windows驱动程序,并且在同一行上打印阿拉伯语/英语,并考虑语言方向。所有这些都应该比Windows图形驱动程序更快。
所以,我们解决了这个问题。我们开发了VC++代码,并以一种巧妙的方式解决了这个问题。对于其他开发人员,我们制作了一个ActiveX控件来处理收据打印机。
用法
主要特点
开发人员可以使用下载到打印机中的字符集,但是如何避免这种麻烦呢?
- 它是ActiveX控件,可以嵌入到任何其他开发语言中。
- 它使用打印机的通用ESC命令,因此它可以与许多打印机品牌一起使用。
- 即使所需的语言字符集未下载到打印机ROM中,它也可以工作。我们在日本CBM打印机中心的Citizen收据打印机上打印了阿拉伯语,那里:打印机上没有阿拉伯字符集,也没有支持阿拉伯语的Windows操作系统!!
- 它不仅仅是阿拉伯语,它可以打印任何其他语言字符。首先,我们将字符下载到ActiveX中。除了英语之外。
- Windows操作系统根本不需要支持该语言。我们在Citizen Japan Ltd.上的Citizen收据打印机和Epson打印机上,在运行JP语言的Windows计算机上打印阿拉伯字符!
- 它非常容易使用,用户只需执行以下操作
- 将ActiveX插入到他的程序中。
Control.Open
(这里使用的 COM 端口 / LPT 端口)。- 选择字符模式(32个国际字符,或扩展的79个字符用于阿拉伯数字)。
- 加载字符(控件打开后)。
- 选择要打印的语言并打印任何您想要的内容。
- 用户可以:打印空行,更改方向,跳行,打印有/无换行符,...
在程序结束时,只需关闭控件即可。
示例代码
// The activeX control name is: PrnX for example void InitPrn (CString pComPort) { PrnX.OpenPort (pComPort); PrnX.Reset(); //Rest the printer //1 = 79 Figures(extended mode for Citizin CBM printers and similars) //2 = 32 Figures(restricted mode for Epson & 32 // International characters only) PrnX.SetChMode (1); PrnX.Init(); //Initialize the printer status & buffer PrnX.LoadCharsDefs(); //Load the international characters into the printer } void PrintText (CString pText, short pAllignment) { // Left, Center, Right PrnX.SetAllignment (pAllignment); //vLines = Number of empty lines after the print operation. Can be Zero short vLines = 2; // Print now as you want. // pText may be " any local/english text here // -arabic version here- " PrnX.CBMPrint (pText, vLines); //And can use PrnX.FeedLine(vLines) also //And can do PrnX.CutSheet() to cut the paper if the printer support it } void ClosePrnPort () { PrnX.ClosePort(); }
它非常简单,而且体积很小。
如果有人需要演示,我们很乐意立即发送演示版本。(现在存在阿拉伯字符,其他语言可根据要求提供。)