【小y设计】二维码条形码打印编辑器

条码打印,价格标签打印,需要对打印进行排版,于是设计了一个简单的编辑器

支持条码二维码打印进行编辑排版,支持文字、图片、条码、二维码、直线,能自由拖拉,删除,并可保存为模版。 界面如下 (下载Demo  体验):

左边为参数设置,右边为可视编辑区,支持自由拖拉,按Del键删除层。

首先点击左边最上面的纸张设置,设定纸张大小。可以直接在下拉框中选择常用的纸张大小,也可以自定义尺寸。设置好后点击“保存设置"按钮,则编辑区显示相应尺寸的纸张。然后在纸张上自由插入条码、图片、文字、直线。

支持简单的时间变量,比如文字内容里插入了”{当前时间}“变量,则当触发打印操作的时候,再取当前时间,并替换该变量:

 

程序源码截图:

 

关键技术点:

1.实现如Photoshop类似的图层概念

  刚开始准备使用GDI+绘制图层,然后用鼠标定位当前选中的对象,后来改进成用自定义控件实现,在控件上画对象,只需要对控件添加统一的鼠标事件就可以实现图层移动、删除等操作。

2.绘制条码、二维码,涉及中文问题、条码编码方式问题

使用的开源二维码库zxing,我之前的其他文章也有详细介绍,不赘述。

 //条码类型
            BarcodeFormat myBarcodeFormat;
            EncodingOptions myEncoding;
            if (this.CodeType == 1) //二维码
            {
                myBarcodeFormat = BarcodeFormat.QR_CODE;
                myEncoding = new QrCodeEncodingOptions()
                {
                    Height = this.Height,
                    Width = this.Width,
                    Margin = 0,
                    CharacterSet="UTF-8",
                    PureBarcode = !this.IsShowText
                };
            }
            else //条形码
            {
                myBarcodeFormat = BarcodeFormat.CODE_128;
                myEncoding = new EncodingOptions()
                {
                    Height = this.Height,
                    Width = this.Width,
                    Margin = 0,
                    PureBarcode = !this.IsShowText
                };
            }
            //生成条码QrCodeEncodingOptions
            BarcodeWriter writer = new BarcodeWriter
            {
                Format = myBarcodeFormat,
                Options = myEncoding,
                Renderer = (IBarcodeRenderer<Bitmap>)Activator.CreateInstance(typeof(BitmapRenderer))
            };
            
            Bitmap  barImg= writer.Write(this.Content);

这里强调一点是,使用UTF-8编码防止中文乱码。其二,条码编码方式使用Code_128,支持任意ascii码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在对斑马打印机进行设置与编程前,需先将电脑与斑马打印机通过USB打印线连起来,并接上电源,再安装驱动。 3.1 安装 zebra setup utility 软件,并打开软件。 3.2 用USB 或者并口或者网络接口连接好打印机与PC 机,点击“InstallNewPrinter”。本例中是通过USB打印线与打印机进行通信设置。 3.3安装驱动后,将会可以看到你需要配置的打印机,并选中该打印机。 3.4 然后点击 “configure printer connectivity”,对打印机的参数进行配置。 3.5 选择打印机的连接类型。选中“Wireless”点击下一步。 3.6设置打印机的IP地址,选择“Static”,为打印机分配IP地址192.168.0.2,子网掩码255.255.255.0。点击“Nest”继续打印机设置向导,其它设置一般采用默认设置即可,直至所有打印机的设置向导结束。 3.7完成打印机的设置向导后,在打印机绿灯常亮状态下,按住打印机上面的键,绿灯第一次闪一下后松开,打印机将打印出其修改后的参数数据,看是否与设置向导中设置的参数一致。 3.8 打印机的默认端口号是9100,也可以根据需要自行修改,如本例中打印机的端口号为2100。端口号的修改:将电脑与打印机通过网线连接,在网页中输入当前打印机的IP地址如192.168.0.2回车即可打开打印机的参数网页,默认修改密码为1234。 3.9 接下来我们就要根据事先设计好的标签模板,按斑马打印机-ZPL-II-语言编程,并将编好的程序发送给打印机。打开zebra setup utility 软件,选中刚才设置的打印机,点击“Open Communication With Printer”按鈕,弹出“Direct Communication” 设置画面,把编译好的ZPL-II-语言程序黏贴到“untitled1”发送框,点击“Send To Printer”按钮,将程序程序下载到打印机中。该程序对标签模板的布局进行定义。详细定义程序如下:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值