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打印条码二维码的一些设置的更多相关文章

  1. Lodop打印条码二维码设置多宽不一定是多宽

    Lodop输出二维码和条码,可用如下语句,其中下面的width和height参数,设置了条码或二维码多宽,会发现可能不是设置的宽度或高度.ADD_PRINT_BARCODE(Top,Left,Widt ...

  2. LODOP条码二维码简短问答及相关博文

    LODOP如何输出条码 条码输出 参考样例11 http://www.c-lodop.com/demolist/PrintSample11.html超文本表格中的条码参考样例47 http://www ...

  3. Lodop打印二维码内容长度不同如何大小相同

    利用Loodop打印控件打印二维码的时候,往往传入的数值是变量,有的只有一个数字,有的却一大堆数字和字母,根据内容长度不同,二维码大小也不同,这样如果批量打印二维码标签,传入的数据是不同的,会造成有的 ...

  4. 提高zxing生成二维码的容错率及zxing生成二维码的边框设置

    最近做了一个项目要生成二维码,跟几年前不同,最近大家都喜欢在二维码中间加logo. 加logo倒是不难,两个图片叠一起就是了,但是遇到一个新问题,logo加得太大的话,会导致二维码扫描不出来;加的太小 ...

  5. C# 通过Bartender模板打印条码,二维码, 文字, 及操作RFID标签等。

    1.在之前写的一篇文章中, 有讲到如何利用ZPL命令去操作打印里,  后面发现通过模板的方式会更加方便快捷, 既不用去掌握ZPL的实现细节, 就可以轻松的调用实现打印的功能. 解决方案: 1.网络下载 ...

  6. 免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)

    在生活中有一种东西几乎已经快要成为我们的另一个电子”身份证“,那就是二维码.无论是在软件开发的过程中,还是在普通用户的日常中,几乎都离不开二维码.二维码 (dimensional barcode) , ...

  7. PHP二维码生成的方法(google APi,PHP类库,libqrencode等)

    原文地址: http://blog.csdn.net/liuxinmingcode/article/details/7910975 ================================== ...

  8. java代码生成二维码以及解析二维码

    package com.test; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedI ...

  9. DotNet二维码操作组件ThoughtWorks.QRCode

    DotNet二维码操作组件ThoughtWorks.QRCode 在生活中有一种东西几乎已经快要成为我们的另一个电子"身份证",那就是二维码.无论是在软件开发的过程中,还是在普通用 ...

随机推荐

  1. Android TextView的属性设置为textstyle="bold"时 中文的“¥”不显示

    昨天在修改列表的时候出现了一个挺让人纠结的问题.在TextView中“¥”符号无论如何也显示不出来.尝试了使用气的特殊符号,都是能够正确显示的. 最后百度google了一圈也没找出个所以然来.于是觉得 ...

  2. harbor Configuring Harbor with HTTPS Access

    首先,下载fq (fanqiang) harbor-offline-installer-v1.2.0-rc5.tgz tar xvf harbor-offline-installer-<vers ...

  3. SkylineGlobe 6.6 版本API更新

    TEPro6.6API更新 概述 API6.6 较6.5只做了微小的更新,您可以很容易的将6.5的应用程序移植为6.6版本的应用程序. C#环境中,修改步骤如下: 创建SGWorld66实例代替SGW ...

  4. TCP/IP协议---UDP协议

    UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都产生一个UDP数据报,并组装成一份待发送的IP数据报.UDP数据报是要依赖IP数据报传送的.UDP协议并不可靠,它不能保证发出去的包会被目 ...

  5. ASP.NET的生命周期

    我主要参考了这些文章 ASP.NET应用程序与页面生命周期, IIS处理Asp.net请求和 Asp.net页面生命周期 asp.net页面的生命周期 页面生命周期开始 (一)页面生命周期的主要阶段包 ...

  6. 2016年总结 - Java程序员

    一 . 技术积累 (1)代码规范 1.1.1.通常的模块分布:一般如果你要实现一个web应用,你从后台将数据展示到前端页面,在一个比较大的公司,你少不了跟其他项目有交集(你调用他的接口,他依赖你的接口 ...

  7. ExtJS初探:在项目中使用ExtJS

    注意:本文写作时间是 2013 年,所讲的 ExtJS 如今早已过时,请勿学习! -------------------------------- 今天ExtJS官网发布了ExtJS最新正式版4.2. ...

  8. 分布式监控系统Zabbix-图形集中展示插件Graphtree安装笔记

    Zabbix想要集中展示图像,唯一的选择是screen,后来zatree解决了screen的问题,但性能不够好.Graphtree 由OneOaaS开发并开源出来,用来解决Zabbix的图形展示问题, ...

  9. LVM基础详细说明及动态扩容lvm逻辑卷的操作记录

    LVM概念:---------------------------------------------------------------------------------------------- ...

  10. C_数据结构_递归实现求阶乘

    # include <stdio.h> int main(void) { int val; printf("请输入一个数字:"); printf("val = ...