利用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);  //將二維碼圖片 打印出來,縮放

結構圖:

 

測試結果(其他格式條碼類似):

分享共進步,謝謝閱讀。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM