Lodop打印条码二维码的一些设置
Lodop绘制条码图功能让条码打印变得很简单,客户端不用安装专门的条码字库,该函数格式如下:
ADD_PRINT_BARCODE(Top,Left,Width,Height,BarCodeType,BarCodeValue);
关键参数含义:
Width 条码的总宽度,计量单位px(1px=1/96英寸)
Height 条码的总高度(一维条码时包括文字高度)
BarCodeType 条码的类型(规制)名称
BarCodeValue 条码值
目前LODOP支持24种一维码和2种二维码,具体支持哪些可查看官网的样例和Lodop技术手册。
关于条码二维码宽度:
Lodop打印条码二维码设置多宽不一定是多宽
一些常见的样式设置
LODOP.ADD_PRINT_BARCODE(88,32,206,78,"128B","123456789012");//设置条码位置、宽高、字体、值
LODOP.SET_PRINT_STYLEA(0,"FontSize",18);//设置上面这个条码下方的文字字体大小
LODOP.SET_PRINT_STYLEA(0,"Color","#FF0000");//设置当前条码以及条码下方字体的颜色
LODOP.SET_PRINT_STYLEA(0,"Angle",180);//设置旋转角度
LODOP.SET_PRINT_STYLEA(0,"ShowBarText",0);//设置是否显示下方的文字
LODOP.SET_PRINT_STYLEA(0,"AlignJustify",2);//设置条码下方的文字相对于条码本身居中
LODOP.SET_PRINT_STYLEA(0,"AlignJustify",1);//设置条码下方的文字相对于条码本身居左
LODOP.SET_PRINT_STYLEA(0,"AlignJustify",3);//设置条码下方的文字相对于条码本身居右
LODOP.SET_PRINT_STYLEA(0,"GroundColor","#0080FF");//设置条码的背景色

官网一些问题的详细介绍:
一、条码语句默认是Auto类型自适应宽度或高度,默认Auto属性
二维码或条码是由竖条和横条组成,设定宽度后,自动计算每条应占用的宽度,计算后的合计宽度一般是小于等于设定宽度,所以条码或二维码的增大或缩小是受每个竖条或横条的宽度合计值影响,比如40个竖条,每一个增加1px,总宽度就增加了40px,所以宽度和高度跳跃式放大或缩小,是非线性。默认Auto属性,QRCord二维码根据内容多少自动调整显示级别,也就是宽度和高度的自适应。
最小宽度小于1px时就无法再小了,就要调整条码纸的宽度以适应内容输出的宽度,或调整内容输出量达到调整输出宽度效果。
二、去掉默认auto自适应属性,保证输出的二维码宽高不变
用类似这个语句设置条码属性到具体版本号就可以了:LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",5); //其中参数5是版本号 C-Lodop和Lodop主要支持二维码类型:QRCode和PDF417,常用的是QRCode,QR码分为 version 1 到version 40 共40种类型,目前C-Lodop和Lodop支持7种版本:1、2、3、5、7、10、14。另外容错率影响QRCord版本的最大输出值,设置容错率的语句: LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","L");//L为低容错率7%,默认是M级容错率15%,最高级H级容错率是30%, 相对于低容错L 7% 所能输出的最大字符数值如下
版本1:最大值17个字符
版本2:最大值32个字符
版本3:最大值53个字符
版本5:最大值106个字符
版本7: 最大值154个字符
版本10:最大值135个汉字 271个字符
版本14:最大值229个汉字,458个字符
超出了会有内容溢出提示“QRCord data overflow”,如果条码内容为空提示“QRCord data null”
几个条码类型简单描述
128A: 标准数字和字母, 控制符, 特殊字符
128B: 标准数字和字母, 小写字母, 特殊字符
128C: [00]-[99]的数字对集合, 共100个(只能包含数字,一个条码字符代表两位数字)
128AUTO:会自动在几个代码集中切换。
128C 只能打数字,可以打到超窄 ,有客户可以打到12毫米
影响条码识别率
首先尽量要用Lodop、C-Lodop最新版本,新版本对条码输出有很多改进;
其次,如果测试Lodop一维码,要打印到纸张上之后扫描,不能从屏幕扫描,原因是Lodop一维码输出按打印分辨率控制精度的,而二维码可以从屏幕扫描测试;影响扫描识别率的另外一个关键原因是条码总宽度,特别是打印设备的输出精度不高时。也就是说总宽度越窄,对打印设备精度要求越高;
再有,同样的内容,要选择识别更容易的码制类型,例如当内容全部是数字时,要选择128C而不用128A,后者可以用字母,但识别率相对较低;
我们在实际测试中还发现,扫描枪的使用手法也很有影响,例如有时扫描枪离条码不能太近(当然不能极远),尽量调整好扫描距离,这是对比扫描率的基础,有时这个失误会让测试结果大相径庭;一维条码的总宽越大,扫描枪的距离则越远才行,扫描手法失误有时会严重影响扫描识别率,比打印设备的精度和浓度的影响还大。我认为调整条码宽度最重要的使命就是让总宽合适,从而让扫描距离适中。如果是二维码,要注意扫描软件的字符集局限,要多试试其它字符集,如UTF-8,GB2312等等;
最后,打印时注意调整一下打印浓度,很可能让识别率大大提高;
总之,条码打印不是一簇而就的工作。
Lodop打印条码二维码的一些设置的更多相关文章
- Lodop打印条码二维码设置多宽不一定是多宽
Lodop输出二维码和条码,可用如下语句,其中下面的width和height参数,设置了条码或二维码多宽,会发现可能不是设置的宽度或高度.ADD_PRINT_BARCODE(Top,Left,Widt ...
- LODOP条码二维码简短问答及相关博文
LODOP如何输出条码 条码输出 参考样例11 http://www.c-lodop.com/demolist/PrintSample11.html超文本表格中的条码参考样例47 http://www ...
- Lodop打印二维码内容长度不同如何大小相同
利用Loodop打印控件打印二维码的时候,往往传入的数值是变量,有的只有一个数字,有的却一大堆数字和字母,根据内容长度不同,二维码大小也不同,这样如果批量打印二维码标签,传入的数据是不同的,会造成有的 ...
- 提高zxing生成二维码的容错率及zxing生成二维码的边框设置
最近做了一个项目要生成二维码,跟几年前不同,最近大家都喜欢在二维码中间加logo. 加logo倒是不难,两个图片叠一起就是了,但是遇到一个新问题,logo加得太大的话,会导致二维码扫描不出来;加的太小 ...
- C# 通过Bartender模板打印条码,二维码, 文字, 及操作RFID标签等。
1.在之前写的一篇文章中, 有讲到如何利用ZPL命令去操作打印里, 后面发现通过模板的方式会更加方便快捷, 既不用去掌握ZPL的实现细节, 就可以轻松的调用实现打印的功能. 解决方案: 1.网络下载 ...
- 免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
在生活中有一种东西几乎已经快要成为我们的另一个电子”身份证“,那就是二维码.无论是在软件开发的过程中,还是在普通用户的日常中,几乎都离不开二维码.二维码 (dimensional barcode) , ...
- PHP二维码生成的方法(google APi,PHP类库,libqrencode等)
原文地址: http://blog.csdn.net/liuxinmingcode/article/details/7910975 ================================== ...
- java代码生成二维码以及解析二维码
package com.test; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedI ...
- DotNet二维码操作组件ThoughtWorks.QRCode
DotNet二维码操作组件ThoughtWorks.QRCode 在生活中有一种东西几乎已经快要成为我们的另一个电子"身份证",那就是二维码.无论是在软件开发的过程中,还是在普通用 ...
随机推荐
- 加拿大抢先低调上架技嘉RTX 2060 显卡
RTX 2060显卡这个传说越来越接近落地成真了. 据外媒爆料,加拿大经销商已经低调上架来自技嘉的RTX 2060显卡,价格为529加元(约合394美元,2705元人民币). 考虑到RTX 2070的 ...
- CommonJS, AMD, CMD是什么及区别--简单易懂有实例
CommonJS, AMD, CMD都是JS模块化的规范. CommonJS是服务器端js模块化的规范,NodeJS是这种规范的实现. AMD(异步模块定义)和CMD(通用模块定义)都是浏览器端js模 ...
- SVN 安装vs插件
1.下载visualsvn for visual studio 2012/2013/2015/2017 2.查看是否安装成功 一 下载并安装插件 1.VisualSVN :VisualSVN-5.1. ...
- HNOI2017做题笔记
HNOI2017 单旋(线段树.set) 手玩旋转操作(忽略手玩过程)可以发现:一次单旋对原树的变化实际上很小. 对于父子关系,单旋最小值会将\(Spaly\)上最小值变成原来根的父亲,将最小值的点右 ...
- CF954I Yet Another String Matching Problem 并查集、FFT
传送门 题意:给出两个由小写$a$到$f$组成的字符串$S$和$T$($|S| \geq |T|$),给出变换$c1\,c2$表示将两个字符串中所有$c1$字符变为$c2$,求$S$的每一个长度为$T ...
- c# create html table test
string html = "<html><head><title>44444444</title>"; html += @&quo ...
- A2dp初始化流程源码分析
蓝牙启动的时候,会涉及到各个profile 的启动.这篇文章分析一下,蓝牙中a2dp profile的初始化流程. 我们从AdapterState.java中对于USER_TURN_ON 消息的处理说 ...
- nginx location url解析过程
- Flutter - 本地化语言
Flutter有很多本地化的packages使用,我现在用的是 flutter_i18n 项目主页:https://pub.dartlang.org/packages/flutter_i18n 1.安 ...
- vue开发小结(上)
前言: 18年年底,就一个字,忙,貌似一到年底哪个公司都在冲业绩,包括我们自己开发自己公司的项目也一样得加把劲.自从18年年初立了个flag17年年终总结——走过2017,迎来2018Flag到现在又 ...