zoukankan      html  css  js  c++  java
  • 使用BarcodeLib.Barcode.ASP.NET生成条形码

    生成条形码图片,然后在前台页面展示:

     <img id="img" src="Mobile/<%=url %>"/>
     public string url;
    
            protected void Page_Load(object sender, EventArgs e)
            {
                //string code = Get("6901028045575", 2, 60);
    
                //this.barcode.InnerHtml = code;
    
                BarcodeLib.Barcode.Linear ean13 = new BarcodeLib.Barcode.Linear();
                ean13.Type = BarcodeLib.Barcode.BarcodeType.EAN13;
                string code = "690102804559";
                ean13.Data = code;
                ean13.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;
                ean13.BarColor = Color.Black;
                ean13.BarWidth = 2;
                ean13.LeftMargin = 4;
                ean13.RightMargin = 4;
                string path = System.Web.HttpContext.Current.Request.MapPath("/Mobile/") + code + ".jpeg";
                ean13.drawBarcode(path);
                url = code + ".jpeg";
            }

    传入data时需要传入12位的数字。

    下载地址:http://www.barcodelib.com/asp_net/main.html

    下面参考资料转自:http://www.itnose.net/detail/6115587.html

    首先效果:
    生成,条形码,c#,barcodelib.dll,利用0
    生成,条形码,c#,barcodelib.dll,利用0
    
    1:首先下载BarcodeLib.dll 下载地址 http://pan.baidu.com/share/link?shareid=2590968386&uk=2148890391&fid=1692834292 如果不存在了则自行搜索下载。
    
    1.BarcodeLib.dll 一维条码库支持以下条码格式
    
    UPC-A
    
    UPC-E
    
    UPC 2 Digit Ext.
    
    UPC 5 Digit Ext.
    
    EAN-13
    
    JAN-13
    
    EAN-8
    
    ITF-14
    
    Codabar
    
    PostNet
    
    Bookland/ISBN
    
    Code 11
    
    Code 39
    
    Code 39 Extended
    
    Code 93
    
    LOGMARS
    
    MSI
    
    Interleaved 2 of 5
    
    Standard 2 of 5
    
    Code 128
    
    Code 128-A
    
    Code 128-B
    
    Code 128-C
    
    Telepen
    
    然后项目中添加引用
    
    [csharp]  view plaincopy
    private void button6_Click(object sender, EventArgs e)  
        {  
            System.Drawing.Image image;  
            int width = 148, height = 55;  
            string fileSavePath = AppDomain.CurrentDomain.BaseDirectory + "BarcodePattern.jpg";  
            if (File.Exists(fileSavePath))  
                File.Delete(fileSavePath);  
            GetBarcode(height, width, BarcodeLib.TYPE.CODE128, "20131025-136", out image, fileSavePath);  
      
            pictureBox1.Image  = Image.FromFile("BarcodePattern.jpg");  
        }  
        public static void GetBarcode(int height, int width, BarcodeLib.TYPE type, string code, out System.Drawing.Image image, string fileSaveUrl)  
        {  
            try  
            {  
                image = null;  
                BarcodeLib.Barcode b = new BarcodeLib.Barcode();  
                b.BackColor = System.Drawing.Color.White;//图片背景颜色  
                b.ForeColor = System.Drawing.Color.Black;//条码颜色  
                b.IncludeLabel = true;  
                b.Alignment = BarcodeLib.AlignmentPositions.LEFT;  
                b.LabelPosition = BarcodeLib.LabelPositions.BOTTOMCENTER;  
                b.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;//图片格式  
                System.Drawing.Font font = new System.Drawing.Font("verdana", 10f);//字体设置  
                b.LabelFont = font;  
                b.Height = height;//图片高度设置(px单位)  
                b.Width = width;//图片宽度设置(px单位)  
      
                image = b.Encode(type, code);//生成图片  
                image.Save(fileSaveUrl, System.Drawing.Imaging.ImageFormat.Jpeg);  
                   
            }  
            catch (Exception ex)  
            {  
      
                image = null;  
            }  
        }  
    简单的写一下。详细的去 http://www.barcodelib.com/net_barcode/main.html 这里看。
    
     
    
     
    
     
    
    利用 zxing.dll生成条形码和二维码  下载地址http://zxingnet.codeplex.com/
    
    ZXing (ZebraCrossing)是一个开源的,支持多种格式的条形码图像处理库, 。使用该类库可以方便地实现二维码图像的生成和解析。 
    
    下载zxing.dll 项目参照引用
    
    [csharp]  view plaincopy
    {  
                    MultiFormatWriter mutiWriter = new com.google.zxing.MultiFormatWriter();  
                    ByteMatrix bm = mutiWriter.encode(txtMsg.Text, com.google.zxing.BarcodeFormat.QR_CODE, 300, 300);  
                    Bitmap img = bm.ToBitmap();  
                    pictureBox1.Image = img;  
      
                    //自动保存图片到当前目录  
                    string filename = System.Environment.CurrentDirectory + "\QR" + DateTime.Now.Ticks.ToString() + ".jpg";  
                    img.Save(filename, System.Drawing.Imaging.ImageFormat.Jpeg);  
                    lbshow.Text = "图片已保存到:" + filename;  
                }  
                catch (Exception ee)  
                { MessageBox.Show(ee.Message); }  
    
    
    
    生成,条形码,c#,barcodelib.dll,利用1
    
     生成,条形码,c#,barcodelib.dll,利用1
    
     利用 QrCodeNet.dll生成条形码和二维码  下载地址http://qrcodenet.codeplex.com/
    
    下载QrCodeNet.dll 项目参照引用
    
    [csharp]  view plaincopy
      private void button2_Click(object sender, EventArgs e)  
            {  
                var codeParams = CodeDescriptor.Init(ErrorCorrectionLevel.H, textBox1.Text.Trim(), QuietZoneModules.Two, 5);  
      
                codeParams.TryEncode();  
      
                // Render the QR code as an image  
                using (var ms = new MemoryStream())  
                {  
                    codeParams.Render(ms);  
      
                    Image image = Image.FromStream(ms);  
                    pictureBox1.Image = image;  
                    if (image != null)  
                        pictureBox1.SizeMode = image.Height > pictureBox1.Height ? PictureBoxSizeMode.Zoom : PictureBoxSizeMode.Normal;  
                }  
      
            }  
     /// <summary>  
        /// Class containing the description of the QR code and wrapping encoding and rendering.  
        /// </summary>  
        internal class CodeDescriptor  
        {  
            public ErrorCorrectionLevel Ecl;  
            public string Content;  
            public QuietZoneModules QuietZones;  
            public int ModuleSize;  
            public BitMatrix Matrix;  
            public string ContentType;  
      
            /// <summary>  
            /// Parse QueryString that define the QR code properties  
            /// </summary>  
            /// <param name="request">HttpRequest containing HTTP GET data</param>  
            /// <returns>A QR code descriptor object</returns>  
            public static CodeDescriptor Init(ErrorCorrectionLevel level, string content, QuietZoneModules qzModules, int moduleSize)  
            {  
                var cp = new CodeDescriptor();  
      
                //// Error correction level  
                cp.Ecl = level;  
                //// Code content to encode  
                cp.Content = content;  
                //// Size of the quiet zone  
                cp.QuietZones = qzModules;  
                //// Module size  
                cp.ModuleSize = moduleSize;  
                return cp;  
            }  
      
            /// <summary>  
            /// Encode the content with desired parameters and save the generated Matrix  
            /// </summary>  
            /// <returns>True if the encoding succeeded, false if the content is empty or too large to fit in a QR code</returns>  
            public bool TryEncode()  
            {  
                var encoder = new QrEncoder(Ecl);  
                QrCode qr;  
                if (!encoder.TryEncode(Content, out qr))  
                    return false;  
      
                Matrix = qr.Matrix;  
                return true;  
            }  
      
            /// <summary>  
            /// Render the Matrix as a PNG image  
            /// </summary>  
            /// <param name="ms">MemoryStream to store the image bytes into</param>  
            internal void Render(MemoryStream ms)  
            {  
                var render = new GraphicsRenderer(new FixedModuleSize(ModuleSize, QuietZones));  
                render.WriteToStream(Matrix, System.Drawing.Imaging.ImageFormat.Png, ms);  
                ContentType = "image/png";  
            }  
        }  
    
    效果:
    生成,条形码,c#,barcodelib.dll,利用2
    生成,条形码,c#,barcodelib.dll,利用2
    
    参考地址:
    
    http://www.cnblogs.com/mzlee/archive/2011/03/19/Lee_Barcode.html
    
    http://blog.163.com/smxp_2006/blog/static/588682542010215163803/
    
    http://q.cnblogs.com/q/15253/
    
    http://www.csharpwin.com/csharpspace/13364r9803.shtml
    
    http://www.2cto.com/kf/201304/203035.html
  • 相关阅读:
    2017年0406------如何使用sessionStroage来储存参数是对象的,以及localStorage和sessionStorage的不同地方
    json格式和对象类型的转换20170330
    严重报错: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis
    201703-28工作笔记:复杂的背景问题
    @Inject
    @Controller
    Mybatis
    Mybatis P2 总结
    小结--limit注入
    小结--order by 注入
  • 原文地址:https://www.cnblogs.com/kennyliu/p/4194135.html
Copyright © 2011-2022 走看看