问题解决——使用GP-3120TN打印条形码标签
终于大致的尝试出了参数和编程手册里指令的使用。
在这里,感谢佳博中一个叫做“Gprinter 陶玮”的工程师所提供的技术支持。非常感谢,如果没有你,在写这篇文章之前我可能换别的打印机了。
同时鄙视下一个叫做“熊伯明翰♪”的工程师,技术支持不是你这样做的,答非所问、示例代码你不经验证就发给我、不理睬无视我的问题,要你何用。
----------------------------------------------------------------------------------------
本文为原创文章,转载请保持文章的完整性,并且显要地注明出处
本文链接:http://blog.csdn.net/wlsgzl/article/details/38271403
禁止商业印刷出版,谢绝文章、书籍引用。
----------------------------------------------------------------------------------------
在本文中所出现过的人名,如有侵犯您的相关权利,请私信通知我,或者在文章下面留言,我将采取相应的举措以确保您的权利。
================好久不见的双层分割线=================
之前,使用微软的条形码控件生成条形码,然后打印到打印机,这是最初的设想。
后来,在大概3×9的纸上尝试了一下,成功了。
于是,模拟3.4×1.8的纸张尺寸,失败。
我仔细想了下原因:在Win7+VS2010下,在MFC中使用msbcode9.ocx控件,我只能将其所在位置的DC画出的数据发送到打印机上,这跟用打印机打图片没有什么区别。由于将屏幕内容打印到打印机上,这里面需要一个比例缩放,使用double类型的变量来表示,这是没有什么疑问的。但是int×double再转换成int,这里面会有损失,这将导致一些细微的变化,垂直方向没什么,水平方向将影响条形码细条的宽度和距离——也许这就是我失败的原因。
终于,我可以使用一开始我就想使用的方法了——外行领导害死人,还好工期够长——直接使用提供的指令编程。实际上,这比我用DC打印,在代码上要简单的多。
----------------------------------------------------------------------------------------
先上图吧,经过不懈的努力,我找到了在3.4×1.8下最佳的格式和部分参数。

(上图是尝试编码、DENSITY和SPEED)

(上图是对候选DENSITY和SPEED的对比)
最终的最佳参数是
Code128
DENSITY 3
SPEED 4
================================================
话说这个手册真是坑爹,中英文两本pdf根本对照不起来,连指令都是错的,还好可以不停的骚扰客服和技术部门。
================================================
我写的一些小示例代码:
1、打印一个条形码
SIZE 35 mm,20 mm
GAP 2 mm,0 mm
OFFSET 0
SET PEEL OFF
SHIFT 0
CODEPAGE 437
DIRECTION 1,0
REFERENCE 8,8
DENSITY 3
SPEED 4
CLS
BARCODE 248,8,"128",240,1,90,1,1,"98765"
PRINT 1,1
EOP
2、用计数器打印一系列数字
SIZE 35 mm,20 mm
GAP 2 mm,0 mm
OFFSET 0
SET PEEL OFF
SHIFT 0
DENSITY 3
SPEED 4
DIRECTION 1,0
REFERENCE 8,8
SET COUNTER @1 -1
CLS
@1="98765"
TEXT 8,8,"2",0,1,1,@1
PRINT 5,1
EOP
3、用计数器打印一系列条码(他们的技术支持告诉我,把128改成128M试一下,果然打出了标签。)
SIZE 35 mm,20 mm
GAP 2 mm,0 mm
OFFSET 0
SET PEEL OFF
SHIFT 0
DENSITY 3
SPEED 4
DIRECTION 1,0
REFERENCE 8,8
SET COUNTER @1 -1
SET HEAD ON
SET REPRINT OFF
SET PRINTKEY OFF
CLS
@1="321098"
BARCODE 248,8,"128M",240,1,90,1,1,@1
PRINT 5,1
EOP
===========================================
以上仅是我这两天来通过实验的所得出的个人结论,不具有普遍性。
如果您有好的方法,请不吝告知。
===========================================
一些总结:
SPEED、DENSITY、编码会对效果产生影响,看完上面的文字,便是众所周知的了。
不同的数据也会对打印效果产生影响,例如“7”、“8”、“9”这三个数。这是真的,因为不同的数字字体不同,需要的距离不同。
持续不停地打印也会对打印效果产生影响,例如,我使用我的第3段代码一次性打印了200个条形码,识别率不尽人意。
============================================
PS:不知道当“持续不停地打印”时,这个SPEED跟速度是不是一个意思,注意,这不是在讨论英语。
问题解决——使用GP-3120TN打印条形码标签的更多相关文章
- 调用Bartender服务并打印bartender标签
通常大部分企业在生产,仓储,QC等运作环节会用到标签,标签上有些各种标识. 一般的企业都有配有标签软件+专用的标签打印机.此例以bartender为例子. 如果为了实现打印条码,或者显示具体的功能,用 ...
- ReportMachine打印条形码的问题
ReportMachine打印条形码的问题 最近用RM报表来打印条形码,调试过程非常顺利,扫描枪识别也很正常,唯独斑马打印机的走纸不准确是个问题,正好客户不想用这种纸型,并定制了新纸型,心想等新纸型到 ...
- 如何使用Excel和Word编辑和打印条形码
本文介绍如何使用Microsoft Office Excel 2007和Microsoft Office Word 2007进行条形码的编辑后,通过普通的办公打印机将条形码打印出来. 对于少量,简单的 ...
- SAP smartform 实现打印条形码
先在SE73里定义一个新的BARCODE,注意一定要用新的才可以,旧的是打印不出来的. 然后定义一个SMARTFORM的样式,把你定义的BARCODE放到字符样式里面去. 再做SMARTFORM就可以 ...
- 生鲜配送管理系统_升鲜宝V2.0 小标签打印功能【代配送商品打印小标签功能】说明_15382353715
小标签打印说明 小标签打印可以打印本系统的订单商品数量,也可以把外部的订单商品导入本系统进行打印. 打印本系统中的订单商品操作说明[上篇文章已经讲解相关的操作说明] 打印本系统之外的订单商品明细清单 ...
- js 打印条形码
相应的文件大家去github上下载吧 https://github.com/lindell/JsBarcode <!DOCTYPE html> <html> <head& ...
- java打印条形码Code128C
生成编码类型为Code128C的条形码的javaCODE: package test; import java.awt.Color; import java.awt.Graphics; import ...
- C#客户端打印条形码
第一种方法: 引用第三方插件文件zxing.dll // 1.设置条形码规格 EncodingOptions encodeOption = new EncodingOptions(); encodeO ...
- 斑马Zebra ZPLII指令集中文说明解释
我们最常用的斑马(Zebra)条码打印机,应用ZPLII命令来控制打印,说明书中有每条指令的详细说明及相关示例,下面是各指令的中文释义: ^A 对Zebra内置点阵字体缩放 ^A(可缩放/点阵字体 ...
随机推荐
- MySQL扩展功能 - 重复插入
replace into为什么不好?先删除,后插曲,删除时会全表扫描吗? 参考来自MySQL官方网络的文档: http://dev.mysql.com/doc/refman/5.0/en/replac ...
- 数论 - 欧拉函数模板题 --- poj 2407 : Relatives
Relatives Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11372 Accepted: 5544 Descri ...
- Use the PDFs below or the HTML contents to the left to install and configure P6 EPPM and its additional components.
Welcome to Your Documentation Use the PDFs below or the HTML contents to the left to install and c ...
- Symantec Backup Exec恢复数据库
Insus.NET是使用Symantec Backup Exec来备份数据以及一些服务器文件.下面步骤是怎样恢复一个数据库.当我们数据库有问题,或是想恢复某一天的数据,得需要操作数据恢复Restore ...
- node.js实现CURL功能
PHP中的CURL功能很好实现,直接四五行代码封装一下就OK了.node.js中如何实现CURL的功能呢,下面详细介绍. 这里需要用到request这个库,所以先安装此包: npm install r ...
- Python入门版
一.前言 陆陆续续学习Python已经近半年时间了,感觉到Python的强大之外,也深刻体会到Python的艺术.哲学.曾经的约定,到现在才兑现,其中不乏有很多懈怠,狼狈. Python入门关于Pyt ...
- Redis持久化-数据丢失及解决
Redis的数据回写机制 Redis的数据回写机制分同步和异步两种, 同步回写即SAVE命令,主进程直接向磁盘回写数据.在数据大的情况下会导致系统假死很长时间,所以一般不是推荐的. 异步回写即BGSA ...
- SVN 忽略文件但不删除文件
SVN忽略一些不必要的文件但不删除 如果svn仓库中有一些不希望被别人提交的文件 该如何忽略掉对这个文件的更改但又不删除这个文件呢? 在找了一堆解决方案后得出了如下结论 去除要被忽略文件的版本控制 基 ...
- VB 2015 的 闭包(Closure)
是的,你没看错,这篇文章讲的不是 ECMAScript . 目前 VB 14 比 C# 6 领先的功能里面,有个即将在 C# 7 实现的功能,叫做"本地方法".这个功能与" ...
- mysql启动不起来了!
[root@iZ28r2sl9qkZ data]# service mysqld restartMySQL server PID file could not be found! [FAILED]St ...