生成條碼有不少控件,大部分好的控件,作出來的條碼精確清晰,可是每每該部分的控件費用都很高,這裏推薦你們使用6.0版本的破解版,能夠生成無水印,下方也能夠不顯示文字。測試
一、下圖是 onbarcode 控件,的費用圖,取自官網。ui
二、下圖是 Aspose.BarCode for .NET 的官網費用this
總結:這些控件可使用,由於須要付費。給無償使用的,條碼中夾雜水印,可見,好的控件都是比較難獲取的。spa
今天使用 Aspose.BarCode for .NET 6.0 來生成各類的二維碼(這裏只介紹PDF417碼生成,其餘更簡單且相似)code
下圖是最簡單的返回Bitmap格式的方法,能夠調用:orm
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); }
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------blog
實際中,咱們建立一個項目,經過一個按鈕,在 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以圖片格式進行壓縮或者放大顯示,以下:string
// 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); //將二維碼圖片 打印出來,縮放
結構圖:it
測試結果(其餘格式條碼相似):
分享共進步,謝謝閱讀。