(zxing.net)一维码EAN 8的简介、实现与解码

一、简介

一维码EAN 8:属于国际标准条码,由8个数字组成,属EAN的简易编码形式(EAN缩短码)。当包装面积小于120平方公分以下无法使用标准码时,可以申请使用缩短码。

依结构的不同,EAN条码可区分为:

  1. EAN 13码: 由13个数字组成,为EAN的标准编码型式(EAN标准码)。
  2. EAN 8码: 由8个数字组成,属EAN的简易编码型式(EAN缩短码)。

EAN码的全名为欧洲商品条码(European Article Number),于1977年,由欧洲十二个工业国家所共同发展出来的一种条码。目前已成为一种国际性的条码系统。EAN条码系统的管理是由国际商品条码总会(International Article Numbering Association)负责各会员国的国家代表号码之分配与授权,再由各会员国的商品条码专责机构,对其国内的制造商、批发商、零售商等授予厂商代表号码。

EAN码具有以下特性:

  1. 只能储存数字。
  2. 可双向扫瞄处理,即条码可由左至右或由右至左扫瞄。
  3. 必须有一检查码,以防读取资料的错误情形发生,位于EAN码中的最右边处。
  4. 具有左护线、中线及右护线,以分隔条码上的不同部分与撷取适当的安全空间来处理。
  5. 条码长度一定,较欠缺弹性,但经由适当的管道,可使其通用于世界各国。

EAN 8码的结构如下图:

EAN 8码具有以下特点:

  1. EAN 8码共8位数,包括国别码2位,产品代码5位,及检查码1位。
  2. EAN 8码从空白区开始共81个模组,每个模组长0.33mm,条码符号长度为26.73mm。 
  3. EAN 8码左右资料码编码规则与EAN 13码相同。

二、实现

        public ActionResult EAN_8()
        {
            EncodingOptions options = new EncodingOptions();
            options.PureBarcode = false; //是否将内容字符串显示在图片上。false 为显示 true为不显示
            options.GS1Format = true;    //是否符合GS1
            options.Width = 160;    //图片宽度,根据内容的长度会自动增长
            options.Height = 75;    //图片高度
            options.Margin = 10;    //填充,在图片左右填充空白 10则左右各10

            BarcodeWriter writer = new BarcodeWriter();
            writer.Format = BarcodeFormat.EAN_8;
            writer.Options = options;

            //如需设置图片为其它颜色,使用此段代码
            //BitmapRenderer renderer = new BitmapRenderer();
            //renderer.Foreground = Color.Black;
            //renderer.Background = Color.White;
            //writer.Renderer = renderer;

            Bitmap bmp = writer.Write("69012341");
            MemoryStream ms = new MemoryStream();
            bmp.Save(ms, ImageFormat.Png);
            ms.Flush();
            ms.Position = 0;
            return File(ms, "application/x-png");
        }

测试图像如下:

        

 三、解码

点击查看

posted @ 2018-12-06 15:08  a boy  阅读(1227)  评论(0编辑  收藏  举报