LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

Lodop在WEB页面中打印二维条码并设置固定宽高大小

admin
2023年9月25日 23:15 本文热度 1177

   在WEB下打印条码的传统办法,一种是在客户端操作系统内安装专门的条码字体库;另外一种办法是在服务器端提前生成条码图,然后客户端用输出图片的方式来打印。两种办法的弊端是显而易见的,对于条码值更长更复杂的二维码,第一种方式甚至都无法实现了,只能靠第二种打印图片的方式,但假如条码的内容值是前端页面程序通过用户操作临时产生的(例如JS富客户端),那么这种方式也没辙了。

   用免费打印控件Lodop输出条码,就克服了以上所有弊端,显然简单可行的多。这种方式不需要安装条码字库,也不需要服务器端预先生成图片,WEB页面用javascript语句调用控件函数直接输出,打印时无论一维条码还是二维码,仅需要一行语句就可以实现,语法格式如下:

LODOP.ADD_PRINT_BARCODE(Top,Left,Width,Height,BarCodeType,BarCodeValue);

   函数的前四个参数用来控制条码在纸张中的输出位置和区域大小,最后俩参数指明条码的类型和内容值。条码类型的可选值很多,当其为"QRCode"时表示打印输出QRCODE型二维码,例如下面的真实语句:

LODOP.ADD_PRINT_BARCODE(10,20,100,100,"QRCode","1234567内容可以包含汉字");

   这里两个100表示条码区域宽和高都是100px(1px=1/96英寸),控件会根据这个区域值来自动适配QRCODE的版本(QRCodeVersion),版本QRCODE二维码的重要属性概念,它决定了内容值的长度,QR码分为 version 1 到version 40 共40种类型,目前Lodop控件只支持版本1、2、3、5、7、10、14这7个常用版本。另外容错率影响QRCode版本的最大输出值,设置容错率的语句:

LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M"); //L为低容错率7%,默认是M级容错率15%,最高级H级容错率是30%

   在容错率为M时,对应的内容值长度如下:

      版本1 => 最大内容长度是14个字符或7个汉字;

      版本3 => 最大内容长度是42个字符或21个汉字;

      版本7 => 最大内容长度是122个字符或61个汉字;

      版本14=> 最大内容长度是362个字符或181个汉字;

   最后的版本14都可以在这么小的区域内打印一篇短文了,可见二维码的科学性和信息优势有多大呀!但高版本由于条码密度大,扫描失败可能性增加,所以有时候你可能非常希望打印低版本的条码,如下这句指令就可以强制控件按版本3来打印:

LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",3);

    正常情况下需要以上两行指令才达到目的,这样说是不是感觉我也是标题党呀,呵呵,当然,以上仅是我的粗浅认识,还请朋友们留言指正。

    完整代码如下:

LODOP.ADD_PRINT_BARCODE(10,20,100,100,"QRCode","1234567");                 //第一个二维码
LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");                          //M为中容错率15%,可不加上本句,默认为L
LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",3);                               //固定二维码标签大小,这句是关键
LODOP.ADD_PRINT_BARCODE(120,130,100,100,"QRCode","1234567内容可以包含汉字"); //第二个二维码
LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",7);                               //固定二维码标签大小,这句是关键

效果:

在线演示如下:

http://www.mtsoftware.cn/demolist/PrintSample2.html


更多详细介绍:

一、条码语句默认是Auto类型自适应宽度或高度,默认Auto属性,如下图。

        

图(一)

        二维码或条码是由竖条和横条组成,设定宽度后,自动计算每条应占用的宽度,计算后的合计宽度一般是小于等于设定宽度,所以条码或二维码的增大或缩小是受每个竖条或横条的宽度合计值影响,比如40个竖条,每一个增加1px,总宽度就增加了40px,所以宽度和高度跳跃式放大或缩小,是非线性。默认Auto属性,QRCode二维码根据内容多少自动调整显示级别,也就是宽度和高度的自适应。
        最小宽度小于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。

        另外容错率影响QRCode版本的最大输出值,设置容错率的语句:

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个字符

        超出了会有内容溢出提示“QRCode data overflow”,如果条码内容为空提示“QRCode data null


该文章在 2023/10/21 14:49:31 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved