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. STM32固件库详解

    STM32固件库详解   emouse原创文章,转载请注明出处http://www.cnblogs.com/emouse/ 应部分网友要求,最新加入固件库以及开发环境使用入门视频教程,同时提供例程模板 ...

  2. ddos,cc 攻击特征研究

    a.关于DDos攻击的常见方法 1. SYN Flood:利用TCP协议的原理,这种攻击方法是经典最有效的DDOS方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN ...

  3. ASP.NET Core MVC中URL和数据模型的匹配

    Http GET方法 首先我们来看看GET方法的Http请求,URL参数和ASP.NET Core MVC中Controller的Action方法参数匹配情况. 我定义一个UserController ...

  4. openMP多线程编程

    OpenMP(Open Muti-Processing) OpenMP缺点: 1:作为高层抽象,OpenMp并不适合需要复杂的线程间同步和互斥的场合: 2:另一个缺点是不能在非共享内存系统(如计算机集 ...

  5. Combobox值自定义(不通过数据库)

    前台 <ext:ComboBox ID="cmbYear" runat="server"/> .aspx.cs int year = DateTim ...

  6. 【APIO2016】烟火表演

    题面 题解 神仙题目啊QwQ 设\(f_i(x)\)表示以第\(i\)个点为根的子树需要\(x\)秒引爆的代价. 我们发现,这个函数是一个下凸的一次分段函数. 考虑这个函数合并到父亲节点时会发生怎样的 ...

  7. (4)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- Consul服务发现和消费

    上一章说了  Consul服务注册  现在我要连接上Consul里面的服务 请求它们的API接口 应该怎么做呢? 1.找Consul要一台你需要的服务器 1.1 获取Consul下的所有注册的服务 u ...

  8. kvm虚拟化关闭虚拟网卡virbr0的方法

    我们知道:kvm虚拟化环境安装好后,ifconfig会发现多了一个虚拟网卡virbr0这是由于安装和启用了libvirt服务后生成的,libvirt在服务器(host)上生成一个 virtual ne ...

  9. SQL多表查询总结

    前言 连接查询包括合并.内连接.外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要.只有真正了解它们之间的区别,才能正确使用. 一.Union UNION 操作符用于合并两个或多个 SELE ...

  10. css3 动画效果实现

    前沿 在工作中,经常有一些需要切换的交互样式.如果直接在两种状态之间切换,就显得有点生硬.加上一些动画效果就会好很多. 示例1:点击的三角切换 实现过程 第一步实现这个三角形 用的svg 的多边形画法 ...