• 利用Aspose.BarCode生成条码


    生成条码有很多控件,大部分好的控件,做出来的条码精确清晰,但是往往该部分的控件费用都很高,这里推荐大家使用6.0版本的破解版,可以生成无水印,下方也可以不显示文字。

    1、下图是 onbarcode 控件,的费用图,取自官网。

    2、下图是 Aspose.BarCode for .NET 的官网费用

    总结:这些控件可以使用,因为需要付费。给免费使用的,条码中夹杂水印,可见,好的控件都是比较难获取的。

    今天使用 Aspose.BarCode for .NET 6.0 来生成各种的二维码(这里只介绍PDF417码生成,其他更简单且类似)

    下图是最简单的返回Bitmap格式的方法,可以调用:

            public static Bitmap CreateBitmap()
            {
                // ExStart:CreatePDF417Barcode 
                // The path to the documents directory.
                // string dataDir = RunExamples.GetDataDir_ManageBarCodes();
    
                //// Instantiate BarCodeBuilder object
                //BarCodeBuilder barCodeBuilder = new BarCodeBuilder();
                //barCodeBuilder.CodeText = "ffffffffffffffffffffffi"; // Set the Code text for the barcode
                //barCodeBuilder.SymbologyType = Symbology.Code128;    // Set the SymbologyType for the barcode
    
                BarCodeBuilder barCodeBuilder = new BarCodeBuilder("ffffffffffffffffffffffi", Symbology.Code128);   //上三行,和该行效果相同
                
                return barCodeBuilder.GenerateBarCodeImage();
                // Save file to disk
                //barCodeBuilder.Save(dataDir + "pdf417-barcode_out.jpg", BarCodeImageFormat.Jpeg);
    
            }

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    实际中,我们创建一个项目,通过一个按钮,在 pictureBox1 中显示二维码,代码如下

    private void button1_Click(object sender, EventArgs e)
            {
                // Instantiate barcode object
                BarCodeBuilder barCodeBuilder = new BarCodeBuilder();
    
                // Set Barcode Symbology
                barCodeBuilder.SymbologyType = Symbology.Pdf417;
                barCodeBuilder.CodeTextSpace = 1;                            //二维码下方文字与图形的距离,我们也可以不要文字
                // set Pdf417 Error correction level
                barCodeBuilder.Pdf417ErrorLevel = Pdf417ErrorLevel.Level8;
    
                // Set Pdf417 Compaction Mode to Text
                barCodeBuilder.Pdf417CompactionMode = Pdf417CompactionMode.Text;
    
                // set CodeText for barcode
                barCodeBuilder.CodeText = "1234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C01234512345678901234567890678E9C0";                        //带下方显示文字
                
                //this.pictureBox1.Width = (int)barCodeBuilder.ImageWidth + 100;    //显示大小,长宽
                //this.pictureBox1.Height = (int)barCodeBuilder.ImageHeight;
    
                //barCodeBuilder.Save(@"C:AA.bmp", BarCodeImageFormat.Bmp);        //以图片形式生成,保存本地
                this.pictureBox1.Image = barCodeBuilder.GenerateBarCodeImage();     // GenerateBarCodeImage 创建图片,下方显示文字信息       //this.pictureBox1.Image = barCodeBuilder.GetOnlyBarCodeImage(); //不显示下方文字,仅仅显示图片,对于非破解版,该步不行 
           }

    同样的,也可以利用到PrintDocument之中,我们将Bitmap以图片格式进行压缩或者放大显示,如下:

                        // Instantiate barcode object
                        BarCodeBuilder barCodeBuilder = new BarCodeBuilder();
                        // Set Barcode Symbology
                        barCodeBuilder.SymbologyType = Symbology.Pdf417;
                        barCodeBuilder.CodeTextSpace = 2;                           //文字与图形的距离
    
                        // set Pdf417 Error correction level
                        barCodeBuilder.Pdf417ErrorLevel = Pdf417ErrorLevel.Level8;          //校验等级
                        // Set Pdf417 Compaction Mode to Text
                        barCodeBuilder.Pdf417CompactionMode = Pdf417CompactionMode.Text;
                        // set CodeText for barcode
                        barCodeBuilder.CodeText = pdf417_text;
                        
                        ///barCodeBuilder.Save(@"C:AA.png", BarCodeImageFormat.Png);        //以图片形式生成
                        //Bitmap bitmap = barCodeBuilder.GenerateBarCodeImage();             //获取Bitmap图片格式, 下方带文字,对于小型二维码是很好的显示
                        Bitmap bitmap = barCodeBuilder.GetOnlyBarCodeImage();                //获取Bitmap图片格式, barCodeBuilder.GetOnlyBarCodeImage
                        e.Graphics.DrawImage(bitmap, 20, 35, 140, 80);  //将二维码图片 打印出来,缩放

    结构图:

    测试结果(其他格式条码类似):

    分享共进步,谢谢阅读。

  • 相关阅读:
    WSS页面定制系列(1)如何启用表单页面的编辑模式
    [转载]Customizing the Context Menu of Document Library Items
    MOSS publishing功能:创建页面到子文件夹
    CodeArt.SharePoint.CamlQuery_0.9发布(源码)
    WSS页面定制系列(2)定制单个列表的表单页面
    WSS页面定制系列(3)重写表单的保存逻辑
    MOSS字段编辑权限控制方案(3)重写表单字段呈现逻辑
    WSS(MOSS)如何修改Rich文本编辑器的宽度
    web录音的实现
    WSS 扩展文件夹的属性如何给文件夹添加扩展字段
  • 原文地址:https://www.cnblogs.com/imyao/p/5632079.html
Copyright © 2020-2023  润新知