条形码生成器

news/2024/11/22 12:32:31/

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>条形码生成器by逊王之王</title>
    <style type="text/css">
        .barcode {
            float: left;
            clear: both;
            padding: 0 10px; /*quiet zone*/
            overflow: auto;
            height: 0.5in; /*size*/
        }

        .right {
            float: right;
        }

        .barcode + * {
            clear: both;
        }

        .barcode div {
            float: left;
            height: 0.35in; /*size*/
        }

        .barcode .bar1 {
            border-left: 1px solid black;
        }

        .barcode .bar2 {
            border-left: 2px solid black;
        }

        .barcode .bar3 {
            border-left: 3px solid black;
        }

        .barcode .bar4 {
            border-left: 4px solid black;
        }

        .barcode .space0 {
            margin-right: 0
        }

        .barcode .space1 {
            margin-right: 1px
        }

        .barcode .space2 {
            margin-right: 2px
        }

        .barcode .space3 {
            margin-right: 3px
        }

        .barcode .space4 {
            margin-right: 4px
        }

        .barcode label {
            clear: both;
            display: block;
            text-align: center;
            font: 0.125in/100% helvetica; /*size*/
        }
        /*** bigger ******************************************/
        .barcode2 {
            float: left;
            clear: both;
            padding: 0 10px; /*quiet zone*/
            overflow: auto;
            height: 1in; /*size*/
        }

            .barcode2 + * {
                clear: both;
            }

            .barcode2 div {
                float: left;
                height: 0.7in; /*size*/
            }

            .barcode2 .bar1 {
                border-left: 2px solid black;
            }

            .barcode2 .bar2 {
                border-left: 4px solid black;
            }

            .barcode2 .bar3 {
                border-left: 6px solid black;
            }

            .barcode2 .bar4 {
                border-left: 8px solid black;
            }

            .barcode2 .space0 {
                margin-right: 0
            }

            .barcode2 .space1 {
                margin-right: 2px
            }

            .barcode2 .space2 {
                margin-right: 4px
            }

            .barcode2 .space3 {
                margin-right: 6px
            }

            .barcode2 .space4 {
                margin-right: 8px
            }

            .barcode2 label {
                clear: both;
                display: block;
                text-align: center;
                font: 0.250in/100% helvetica; /*size*/
            }

        .divCent {
            width: 100%;
            background-color: transparent;
            text-align: center;
            margin: 0 auto;
        }
    </style>
    <script type="text/javascript">
        (function () {
            if (!exports)
                var exports = window;
            var BARS = [212222, 222122, 222221, 121223, 121322, 131222, 122213,
                122312, 132212, 221213, 221312, 231212, 112232, 122132, 122231,
                113222, 123122, 123221, 223211, 221132, 221231, 213212, 223112,
                312131, 311222, 321122, 321221, 312212, 322112, 322211, 212123,
                212321, 232121, 111323, 131123, 131321, 112313, 132113, 132311,
                211313, 231113, 231311, 112133, 112331, 132131, 113123, 113321,
                133121, 313121, 211331, 231131, 213113, 213311, 213131, 311123,
                311321, 331121, 312113, 312311, 332111, 314111, 221411, 431111,
                111224, 111422, 121124, 121421, 141122, 141221, 112214, 112412,
                122114, 122411, 142112, 142211, 241211, 221114, 413111, 241112,
                134111, 111242, 121142, 121241, 114212, 124112, 124211, 411212,
                421112, 421211, 212141, 214121, 412121, 111143, 111341, 131141,
                114113, 114311, 411113, 411311, 113141, 114131, 311141, 411131,
                211412, 211214, 211232, 23311120], START_BASE = 38, STOP = 106;
            function code128(code, barcodeType) {
                if (arguments.length < 2)
                    barcodeType = code128Detect(code);
                if (barcodeType == 'C' && code.length % 2 == 1)
                    code = '0' + code;
                var a = parseBarcode(code, barcodeType);
                return bar2html(a.join('')) + '<label>' + code + '</label>';
            }

            function bar2html(s) {
                for (var pos = 0, sb = []; pos < s.length; pos += 2) {
                    sb.push('<div class="bar' + s.charAt(pos) + ' space'
                        + s.charAt(pos + 1) + '"></div>');
                }
                return sb.join('');
            }

            function code128Detect(code) {
                if (/^[0-9]+$/.test(code))
                    return 'C';
                if (/[a-z]/.test(code))
                    return 'B';
                return 'A';
            }

            function parseBarcode(barcode, barcodeType) {
                var bars = [];
                bars.add = function (nr) {
                    var nrCode = BARS[nr];
                    this.check = this.length == 0 ? nr : this.check + nr * this.length;
                    this.push(nrCode || ("UNDEFINED: " + nr + "->" + nrCode));
                };
                bars.add(START_BASE + barcodeType.charCodeAt(0));
                for (var i = 0; i < barcode.length; i++) {
                    var code = barcodeType == 'C' ? +barcode.substr(i++, 2) : barcode
                        .charCodeAt(i);
                    converted = fromType[barcodeType](code);
                    if (isNaN(converted) || converted < 0 || converted > 106)
                        throw new Error("Unrecognized character (" + code
                            + ") at position " + i + " in code '" + barcode + "'.");
                    bars.add(converted);
                }
                bars.push(BARS[bars.check % 103], BARS[STOP]);
                return bars;
            }
            var fromType = {
                A: function (charCode) {
                    if (charCode >= 0 && charCode < 32)
                        return charCode + 64;
                    if (charCode >= 32 && charCode < 96)
                        return charCode - 32;
                    return charCode;
                },
                B: function (charCode) {
                    if (charCode >= 32 && charCode < 128)
                        return charCode - 32;
                    return charCode;
                },
                C: function (charCode) {
                    return charCode;
                }
            };

            // --| Export
            exports.code128 = code128;
        })();

        /*
         * showDiv:代表需要显示的divID, textVlaue : 代表需要生成的值, barcodeType:代表生成类型(A、B、C)三种类型
         *
         */
        function createBarcode(showDiv, textValue, barcodeType) {
            var divElement = document.getElementById(showDiv);
            divElement.innerHTML = code128(textValue, barcodeType);
        }
        function createBarcode2(showDiv, textValue, barcodeType) {
            var divElement = document.getElementById(showDiv);
            divElement.innerHTML = code128(textValue, barcodeType);
        }

        /*****************************************上方为基础JS******************************************/
        /*
         * 页面加载时先选择B类型
         */
        function onloadfct() {
            document.getElementById("hidStr").value = 'B';
            selectText();
        }
        /*
         * 选择类型时将类型值赋给隐藏控件
         */
        function ChangeDdl(obj) {
            document.getElementById("hidStr").value = obj.value;
        }
        var num = 1;    //全局变量存储按钮点击次数
        /*
        *生成条形码的方法
        */
        function creta() {
            var a = num++;
            var divid = "div" + a;    //定义div的id
            document.all.pertxt.innerHTML = "";    //清空说明文档
            document.all.tddiv.innerHTML = "</br><div class='barcode2' style='text-align:center;' id='" + divid + "'></div></br></br>" + document.all.tddiv.innerHTML;
            createBarcode(divid, document.all.txtCode.value, document.all.hidStr.value);
            document.all.btn.value = "生成了" + a + "个";
            selectText();
        }
        /*
         *    设置快捷键
         */
        document.onkeydown = function (e) {
            if ((e || event).keyCode == 13) {        //按下enter键
                creta();
            }
            if ((e || event).keyCode == 9) {        //按下tab键
                creta();
            }
            if ((e || event).keyCode == 46) {        //按下delete键
                history.go(0);
            }
            if ((e || event).keyCode == 36) {        //按下home键
                history.go(0);
            }
        };
        /*
        *文本框焦点和全选
        */
        function selectText() {
            document.getElementById("txtCode").focus();
            document.getElementById("txtCode").select();
        }
    </script>
</head>

<body οnlοad="onloadfct();">
    <input id="hidStr" name="hidStr" type="hidden" />
    <table width="100%" border="0" id="tab">
        <tr height="50px">
            <td width="30%">&nbsp;</td>
            <td width="40%">条码:<input type="text" id="txtCode" style="width:300px;"></td>
            <td width="30%">&nbsp;</td>
        </tr>
        <tr height="50px">
            <td>&nbsp;</td>
            <td>
                形状类型:
                <label><input name="rad" type="radio" οnclick="ChangeDdl(this);" value="A" />A</label>
                <label><input name="rad" type="radio" οnclick="ChangeDdl(this);" checked value="B" />B</label>
                <label><input name="rad" type="radio" οnclick="ChangeDdl(this);" value="C" />C</label>
                <input type="button" value="生成(enter)" title="快捷键:enter或者tab" id="btn" style="width:80px;" οnclick="creta();" />
                <input type="button" value="重置(delete)" title="快捷键:delete或者home" style="width:80px;" οnclick="history.go(0);" />
            </td>
            <td>&nbsp;</td>
        </tr>
        <tr height="150px">
            <td>&nbsp;</td>
            <td id="tddiv">
                <pre id="pertxt" style="color:#021294; width:360px; white-space: pre-wrap; line-height:2; font-size:14px;">

出 处:<a href="http://www.cnblogs.com/yeyerl" target="_blank">http://www.cnblogs.com/yeyerl</a>
              </pre>
            </td>
            <td></td>
        </tr>
    </table>
</body>
</html>


http://www.ppmy.cn/news/664980.html

相关文章

生成条形码代码

//该段代码为 生成条形码代码 //生成效果 using System;using System.Collections.Generic;using System.Text;using System.Drawing;namespace Paabo.WordProcessing.Common{ public class BarCodeProvider { #region 单例 private static BarCodeProvide…

识别条形码

问题描述 计算机学院2013级的院草语文难同学是软院院花牟黑黑爱慕的对象&#xff0c;因此牟黑黑经常约楠神去逛街&#xff0c;楠神不喜欢陪牟黑黑逛街&#xff0c;但是不得不从啊。所以在牟黑黑逛街的时候他就无聊的用眼睛识别条形码 。 在生活中&#xff0c;条形码经常用来标志…

根据条形码获取商品信息

根据条形码获取商品信息 function getGoodsInfoByCode(code){commonAjax.commAJAX({//根据条形码的查询url: "/goodsmanager/getGoddsListBygoodsBarcode?page1&limit10",//订单号 条形码method:get,data:{goodsBarcode:code},ajaxFunc:function(res){if(res.m…

Barcode for Mac(条形码生成器)

用户可以自定义所有的条码内容&#xff0c;无论是字体还是条码宽度都能自定义生成&#xff0c;通过可以轻松完成条形码的创建&#xff0c;并且减少错误&#xff0c;非常方便。 barcode mac教程 安装包下载完成后&#xff0c;双击安装&#xff0c;根据安装器提示进行安装即可。 …

条形码编码规则及标准

任何一种条形码&#xff0c;都是按照预先规定的编码规则和条形码有关标准&#xff0c;由条和空组合而成的。编码规则主要研究包括条形码基本术语在内的一些基本概念和条形码符号结构以及编码基本原理。编码规则既是有关条形码的入门知识&#xff0c;又是条形码技术的基本内容&a…

iOS 扫描二维码/条形码

Linux编程 点击右侧关注&#xff0c;免费入门到精通&#xff01; 作者丨QiShare https://www.jianshu.com/p/6529f5729b36 最近做IoT项目&#xff0c;在智能设备配网过程中有一个扫描设备或说明书上的二维码/条形码来读取设备信息的需求&#xff0c;要达到的效果大体如下&#…

iOS条码的生成

这个算不算什么个人分享,只是对两个库的分享. NKDBarcode, 这是一个小日本人写的生成条形码的库, 写得还不错, 各种常用码都可以生成, 而且调用起来也很方便, 唯一不足的就是这个库是MRC的, 所以使用的时候要都几十个.m文件进行"-fno-objc-arc". ps:手机客户端生成条…

【PC】CPU与GPU

文章目录 CPU与主板CPU是什么主板是什么功能 GPU与显卡GPU是什么显卡是什么功能 CPU与GPU的关系 ALU&#xff1a; 算术单元&#xff08;Arithmetic Unit&#xff09;&#xff1a;算术单元执行基本的算术运算&#xff0c;如加法、减法、乘法和除法。它能够对整数、浮点数和定点数…