利用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);  //将二维码图片 打印出来,缩放

结构图:

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

分享共进步,谢谢阅读。

原文地址:https://www.cnblogs.com/imyao/p/5632079.html