生成条码有不少控件,大部分好的控件,作出来的条码精确清晰,可是每每该部分的控件费用都很高,这里推荐你们使用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
测试结果(其余格式条码相似):
分享共进步,谢谢阅读。