logo资料库

C#利用Zxing.net生成条形码和二维码并实现打印.doc

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
C#利用 Zxing.net 生成条形码和二维码并实现打印的 功能 开篇:zxing.net 是.net 平台下编解条形码和二维码的工具。 下载地址:http://pan.baidu.com/s/1kTr3Vuf Step1:使用 VS2010 新建一个窗体程序项目: Step2:添加三个类:分别是 BarCodeClass.cs、 DocementBase.cs、imageDocument.cs。(下一步贴 出这些类的代码);;;;添加下载回来的引用 zxing.dll。 》说明:
《1》 BarCodeClass.cs 主要用来实现条形码和二维码的生成和解析。 《2》 条形码和二维码进行打印。 DocementBase.cs、imageDocument.cs 这两个类是用来实现对生成的 Step3:编写上一步的三个类的代码: 》BarCodeClass.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using ZXing.Common; using ZXing; using System.Windows.Forms; using System.Drawing; using System.Text.RegularExpressions; using ZXing.QrCode;
namespace BarCode { class BarCodeClass { /// ///生成条形码 /// /// /// public void CreateBarCode(PictureBoxpictureBox1,string Contents) { Regexrg = new Regex("^[0-9]{12}$"); if(!rg.IsMatch(Contents)) 码,需要输入 12 位数字"); { } MessageBox.Show("本例子采用 EAN_13 编 return; EncodingOptionsoptions =null; BarcodeWriterwriter =null; options = newEncodingOptions {
Width = pictureBox1.Width, Height = pictureBox1.Height }; writer = newBarcodeWriter(); writer.Format = BarcodeFormat.ITF; writer.Options = options; Bitmapbitmap = writer.Write(Contents); pictureBox1.Image = bitmap; } /// ///生成二维码 /// /// /// public void CreateQuickMark(PictureBoxpictureBox1,string Contents) { if(Contents == string.Empty) { } MessageBox.Show("输入内容不能为空!"); return;
EncodingOptionsoptions =null; BarcodeWriterwriter =null; options = newQrCodeEncodingOptions DisableECI = true, CharacterSet = "UTF-8", Width = pictureBox1.Width, Height = pictureBox1.Height { }; writer = newBarcodeWriter(); writer.Format = BarcodeFormat.QR_CODE; writer.Options = options; Bitmapbitmap = writer.Write(Contents); pictureBox1.Image = bitmap; } /// ///解码 /// ///
public void Decode(PictureBoxpictureBox1) { BarcodeReaderreader =new BarcodeReader(); reader.Decode((Bitmap)pictureBox1.Image); Resultresult = } } } 》DocementBase.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing.Printing; using System.Drawing; using System.Windows.Forms; namespace BarCode { class DocementBase : PrintDocument { //fields
public Font Font = new Font("Verdana",10, GraphicsUnit.Point); //预览打印 public DialogResult showPrintPreviewDialog() { PrintPreviewDialog(); PrintPreviewDialogdialog =new dialog.Document = this; returndialog.ShowDialog(); } //先设置后打印 public DialogResult ShowPageSettingsDialog() PageSetupDialogdialog =new PageSetupDialog(); dialog.Document = this; returndialog.ShowDialog(); { } } }
》imageDocument.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; using System.Drawing.Printing; namespace BarCode { class imageDocument : DocementBase { privateImage _Image; public Image Image { get { } set { return_Image; _Image = value;
分享到:
收藏