终于大致的尝试出了参数和编程手册里指令的使用。

在这里,感谢佳博中一个叫做“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打印条形码标签的更多相关文章

  1. 调用Bartender服务并打印bartender标签

    通常大部分企业在生产,仓储,QC等运作环节会用到标签,标签上有些各种标识. 一般的企业都有配有标签软件+专用的标签打印机.此例以bartender为例子. 如果为了实现打印条码,或者显示具体的功能,用 ...

  2. ReportMachine打印条形码的问题

    ReportMachine打印条形码的问题 最近用RM报表来打印条形码,调试过程非常顺利,扫描枪识别也很正常,唯独斑马打印机的走纸不准确是个问题,正好客户不想用这种纸型,并定制了新纸型,心想等新纸型到 ...

  3. 如何使用Excel和Word编辑和打印条形码

    本文介绍如何使用Microsoft Office Excel 2007和Microsoft Office Word 2007进行条形码的编辑后,通过普通的办公打印机将条形码打印出来. 对于少量,简单的 ...

  4. SAP smartform 实现打印条形码

    先在SE73里定义一个新的BARCODE,注意一定要用新的才可以,旧的是打印不出来的. 然后定义一个SMARTFORM的样式,把你定义的BARCODE放到字符样式里面去. 再做SMARTFORM就可以 ...

  5. 生鲜配送管理系统_升鲜宝V2.0 小标签打印功能【代配送商品打印小标签功能】说明_15382353715

    小标签打印说明 小标签打印可以打印本系统的订单商品数量,也可以把外部的订单商品导入本系统进行打印. 打印本系统中的订单商品操作说明[上篇文章已经讲解相关的操作说明] 打印本系统之外的订单商品明细清单 ...

  6. js 打印条形码

    相应的文件大家去github上下载吧 https://github.com/lindell/JsBarcode <!DOCTYPE html> <html> <head& ...

  7. java打印条形码Code128C

    生成编码类型为Code128C的条形码的javaCODE: package test; import java.awt.Color; import java.awt.Graphics; import ...

  8. C#客户端打印条形码

    第一种方法: 引用第三方插件文件zxing.dll // 1.设置条形码规格 EncodingOptions encodeOption = new EncodingOptions(); encodeO ...

  9. 斑马Zebra ZPLII指令集中文说明解释

      我们最常用的斑马(Zebra)条码打印机,应用ZPLII命令来控制打印,说明书中有每条指令的详细说明及相关示例,下面是各指令的中文释义: ^A 对Zebra内置点阵字体缩放 ^A(可缩放/点阵字体 ...

随机推荐

  1. sprint演示Scrum 项目7.0

    1.坚持所有的sprint都结束于演示. 团队的成果得到认可,会感觉很好. 其他人可以了解你的团队在做些什么,并得到重要反馈. 演示是一种社会活动,不同的团队可以在这里相互交流,讨论各自的工作.这很有 ...

  2. 对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性。

    问题原因: 1.非空列未插入值错误 2.内容长度超过列最大长度(超过数据库设置长度,或者自定义长度“[StringLength(50, MinimumLength = 6, ErrorMessage ...

  3. java俄罗斯方块游戏代码

    java俄罗斯方块游戏代码: package com; import java.awt.Color; import java.awt.Graphics; import java.awt.event.K ...

  4. sencha 报错问题汇总

    store的url必填 否则报错:Uncaught TypeError: Cannot read property 'indexOf' of undefined ext-all.js store必须在 ...

  5. 关于SVN删除后的文件不能重新添加(正常途径不行)

    在你自己的机器上(即SVN客户端),把“新建test”文件夹标记为删除,然后提交,在删除之前可以备份“新建test”文件夹,提交后,在当前文件夹下更新SVN.然后把你刚刚备份的文件夹重新放到该目录下. ...

  6. 与众不同 windows phone (48) - 8.0 其它: C# 调用 C++

    [源码下载] 与众不同 windows phone (48) - 8.0 其它: C# 调用 C++ 作者:webabcd 介绍与众不同 windows phone 8.0 之 其它 C# 中调用 W ...

  7. [moka同学笔记]yii2 activeForm 表单样式的修改(二)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABAEAAANXCAIAAADLkdErAAAgAElEQVR4nOzdfWwc953nef6zwO5Zg8

  8. oracle sql 语句优化

    (1)选择最有效率的表名顺序(只在基于规则的优化器中有效):Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理 ...

  9. gcd和拓展gcd算法

    gcd算法是用来求两个数最大公约数的算法,他是依靠辗转相除(中国好像叫辗转相减)法来求两个数的最大公约数,别的地方也有很多介绍不做过多赘述,主要提供代码供自己参考. gcd(int a,int b) ...

  10. 原生js验证简洁美观注册登录页面

    序 一个以js验证表单的简洁的注册登录页面,不多说直接上图 效果 主要文件 完整代码 sign_up.html 注册表单 <!DOCTYPE html> <html lang=&qu ...