Argox(立象)打印机

1 环境搭建

1.1 下载软件

登录

http://www.argox.com.cn/Pages/servicedownload.aspx

下载驱动和手册。

 

 

 

 

1.2 正常安装即可,电脑要先接上打印机的USB口。

 

 

 

 

2 Hello World

2.1 创建文件

任意找个位置(桌面也行),新建一个文本文档,另存为utf-8编码模式

 

 

2.2 打印指令

输入以下内容

 

```

^XA

^LL200

^PW700

^MNN

^MMC

^MTT

~SD16

^MD0

^PR4

^CI28

 

^FO0,0

^A0N,60,60

^FD Hello World!^FS

 

^PQ1

^XZ

 

保存。

2.3 发送

 

 

 

 

 

2.4 打印效果

 

 

2.5 指令说明(为了统一,可以设置的参数均用a,b,c等表示):

^XA 指令开始,没有参数

^LLa 标签的高度,a的值为数字,单位dot

^PWa 标签的宽度,a的值为数字,单位dot

^MNa 纸张模式,a的值为大写字母,默认是Y(非连续纸),这里是N(连续纸模式),还有M(黑标模式)

^MMa 打印模式,C是切刀模式,其他参数P,T,D都不会切

^MTa 传输模式,T代表热转印模式,需要碳带,D代表热敏

~SDa 和^MD一起,决定打印的浓度,可选值1-30

^MDa 可选值-30~30

^PRa 打印速度,可选值2-8

^CIa 字符的编码模式,28代表UTF-8

 

^FOa,b 要打印机内容的位置,注意^FO有两个参数,第一个代表横坐标,第二个代表纵坐标,这个指令会跟随后面的指令一起生效

^Aab,c,d 字体选择,^A有四个参数,a代表字体类型,可选值0-9,A-Z,其中0是内置字体,其他字体类型可通过^CW定义,在打印中文时可用。b代表方向,有N,I,B,R四个可选项。以下是测试的效果:

c和d分别代表字体的高度和宽度。

^FDa^FS 内容,a是打印内容,之前我们用“ Hello World!”,前面会多一个空格。

 

^PQa 打印数量,a=1为打印一张

^XZ 指令结束

 

 

3 打印中文字符

3.1 导入中文字体

由于点阵字体效果实在是不好,所以还是考虑通过存入字体去实现中文打印。

我们打开Windows的字体库,找一个适当大小的字体

 

 

通过工具导入打印机

 

 

3.2 打印指令

然后在txt中添加如下内容:

 

```

^XA

^LL300

^PW700

^MNN

^MMC

^MTT

~SD26

^MD10

^PR4

^CI28

 

^CW8,E:SIMYOU.TTF^FS

 

^FO0,10

^A8N,60,60

^FD中文测试123测试ABC中文^FS

 

^PQ1

^XZ

```

3.3 打印效果如下:

 

 

3.4 指令说明:

^CWa,b:c^FS 该指令有三个参数,a代表设置该字体的编号,以便在后面引用它;b代表从哪里找该字体,刚刚我们存入了flash,所以选择为E,其他参数有R (RAM),B (USB memory);c代表字体的名称,刚刚我们存入的是SIMYOU.TTF。

 

^A8N,60,60 第一个参数是引用字体类型的编号,也就是^CW指令的第一个参数。

 

4 打印中文二维码

```

^XA

^LL300

^PW700

^MNN

^MMC

^MTT

~SD26

^MD10

^PR4

^CI28

 

^CW8,E:SIMYOU.TTF^FS

 

^FO200,10

^BQN,2,5

^FH\

^FDLM,B0200 中文测试QR CODE 二维码\0D\0A换行测试123ABC

^FS

 

^PQ1

^XZ

 

```

效果:

 

 

这个效果不错,指令说明:

 

^BQa,b,c:a是二维码方向,一般是N;b是二维码的模式,1是原始版,2是增强版,一般用2;c是放大倍数,有1-10可选。

 

 

5 通过IP打印

5.3 C# Winform

Winform程序一般我们用于桌面程序的运行,这个程序是为了专门用来调试打印指令用的。可以直接打开电脑里的txt,然后发送到指定的IP,也可以直接在文本框编辑内容发送,不会影响原来的txt文件,效果如下:

 

同时增加了对IP和port格式的校验

 

port无法输入非数字,而且不能超出范围

 

打印效果就不显示了,跟之前的一样。

新建一个C#工程,然后像上面那样添加各个控件,具体就不表了,逻辑实现看代码:

using System;

using System.IO;

using System.Net;

using System.Net.Sockets;

using System.Text;

using System.Text.RegularExpressions;

using System.Windows.Forms;

 

namespace SocketSendString

{

    public partial class Form1 : Form

    {

 

        public Form1()

        {

            InitializeComponent();

            textBoxIp.Text = "10.2.3.102";

            textBoxPort.Text= 9100.ToString();

 

        }

 

        private void button_Click_SendTxt(object sender, EventArgs e)

        {

            //读取txt文件内容

            String stringTxtContent = textBoxShowTxtContent.Text;

            byte[] buffer = new byte[2048];

            buffer = Encoding.Default.GetBytes(stringTxtContent);

 

            //判断输入的IP和PORT是否符合格式(IP使用正则表达式判断)

            if (Regex.IsMatch(textBoxIp.Text,

                @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$"))

            {

                if (Convert.ToInt32(textBoxPort.Text) < 66536)

                {

                    Socket socket = new Socket(AddressFamily.InterNetwork,

                        SocketType.Stream, ProtocolType.Tcp);

 

                    //将string转成ip及port类型

                    socket.Connect(IPAddress.Parse(textBoxIp.Text),

                        Convert.ToInt32(textBoxPort.Text));

 

                    socket.Send(buffer);

                    socket.Close();

                    MessageBox.Show("发送完毕");

                }

                else {

                    MessageBox.Show("port超出范围");

                }

            }

            else {

                MessageBox.Show("IP格式错误");

            }

 

            

        }

 

        private void button_Click_ChoseFile(object sender, EventArgs e)

        {

            OpenFileDialog filename = new OpenFileDialog(); //定义打开文件   

            //初始路径,这里设置的是程序的起始位置,可自由设置            

            filename.InitialDirectory = Application.StartupPath;

 

            //设置打开类型,设置个*.*和*.txt就行了            

            filename.Filter = "All files(*.*)|*.*|txt files(*.txt)|*.txt";

            

            //文件类型的显示顺序(上一行.txt设为第二位)            

            filename.FilterIndex = 2;

            filename.RestoreDirectory = true; //对话框记忆之前打开的目录

            if (filename.ShowDialog() == DialogResult.OK){

 

                //获得完整路径在textBox1中显示

                textBoxFilePath.Text = filename.FileName.ToString();

 

                //将选中的文件在textBox2中显示

                StreamReader sr = new StreamReader(filename.FileName,Encoding.UTF8);

                textBoxShowTxtContent.Text = sr.ReadToEnd();

                sr.Close();

            }

 

        }

 

        private void textBoxPort_KeyPress(object sender, KeyPressEventArgs e)

        {

            if (e.KeyChar != '\b')//这是允许输入退格键  

            {

                if ((e.KeyChar < '0') || (e.KeyChar > '9'))//这是允许输入0-9数字  

                {

                    e.Handled = true;

                }

            }

        }

    }

}

 

 感兴趣的可以下载这个C#源码

https://github.com/drihfu/568

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
打印机语言:PPLB 插件安装包: ArgoxWebPrintSetup.msi API类库名称:ArgoxWebPrint 操作系统:WindowsXP, Windows7 32/64bit 运行环境:IE6以上 程序测试页面:PrintDemoPage.htm 发行日期:2014-04-17 ******************************************************************************* 注意事项 =============================================================================== 1. 连接打印机开始运行PrintDemoPage.htm打印测试前,请先确认 - ArgoxWebPrintSetup.msi是否已安装完成。 - 打印机驱动是否已安装完成。 2. 请使用IE浏览器开启PrintDemoPage.htm页面,并在下方提示点击允许IE运行此ActiveXP程序。 3. 插件安装软件包名称为:Setup_ArgoX.msi,必须安装在客户端电脑。 4. 打印机接口函数用法请参阅下方说明,JS的调用方式请参考PrintDemoPage.htm脚本。 5. 你应该将DLL档案放置在哪儿? 若使用32位元的DLL: A.将DLL档案和应用程式放在同一目录下.(这是最好的方法) B.在Windows 32位元作业系统中, 将DLL档案放置在\Windows\System32目录. C.在Windows 64位元作业系统中, 将DLL档案放置在\Windows\Syswow64目录. 若使用64位元的DLL: A.将DLL档案和应用程式放在同一目录下.(这是最好的方法) B.在Windows 32位元作业系统中, 无法使用 64位元的DLL. C.在Windows 64位元作业系统中, 将DLL档案放置在\Windows\Syswow64目录. 6. 以下范例为 C# 的范例,其他程式语言不一定完全相同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值