雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當(dāng)前位置:主頁 > 軟件編程 > C#教程 >

C#條碼生成及打印實例代碼

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

本文實例為大家分享了C#條碼生成及打印的方法,供大家參考,具體內(nèi)容如下

string BarcodeString = "13043404455";//條碼
    int ImgWidth = 520;
    int ImgHeight = 120;

    //打印按鈕
    private void button1_Click(object sender, EventArgs e)
    {
      //實例化打印對象
      PrintDocument printDocument1 = new PrintDocument();

      //設(shè)置打印用的紙張,可以自定義紙張的大小(單位:mm).   當(dāng)打印高度不確定時也可以不設(shè)置
      //printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custum", 585, 800);

      //注冊PrintPage事件,打印每一頁時會觸發(fā)該事件
      printDocument1.PrintPage += new PrintPageEventHandler(this.printDocument1_PrintPage);

      //開始打印
      printDocument1.Print();

      //打印預(yù)覽
      //PrintPreviewDialog ppd = new PrintPreviewDialog();
      //ppd.Document = printDocument1;
      //ppd.ShowDialog();
    }


    //打印事件
    private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
    {
      StringBuilder sb = new StringBuilder();
      sb.Append("\r\n\r\n\r\n");
      sb.Append("*******興隆超市*******\r\n");
      sb.Append("品名-----數(shù)量-----價格\r\n");
      sb.Append("精品白沙  1    8元\r\n");
      sb.Append("張新發(fā)檳榔 1   10元\r\n");
      sb.Append("合計:   2   18元\r\n");
      sb.Append("---收銀員:張三---\r\n");
      sb.Append("---技術(shù)支持:李四---\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n");

      DrawPrint(e, sb.ToString(), BarcodeString, ImgWidth, ImgHeight);

    }

    /// <summary>
    /// 繪制打印內(nèi)容
    /// </summary>
    /// <param name="e">PrintPageEventArgs</param>
    /// <param name="PrintStr">需要打印的文本</param>
    /// <param name="BarcodeStr">條碼</param>
    public void DrawPrint(PrintPageEventArgs e, string PrintStr, string BarcodeStr, int BarcodeWidth, int BarcodeHeight)
    {
      try
      {
        //繪制打印字符串
        e.Graphics.DrawString(PrintStr, new Font(new FontFamily("黑體"), 10), System.Drawing.Brushes.Black, 1, 1);

        if (!string.IsNullOrEmpty(BarcodeStr))
        {
          int PrintWidth = 175;
          int PrintHeight = 35;
          //繪制打印圖片
          e.Graphics.DrawImage(CreateBarcodePicture(BarcodeStr, BarcodeWidth, BarcodeHeight), 0, 0, PrintWidth, PrintHeight);
        }

      }
      catch (Exception ex)
      {
        MessageBox.Show(ex.ToString());
      }
    }



    /// <summary>
    /// 根據(jù)字符串生成條碼圖片( 需添加引用:BarcodeLib.dll )
    /// </summary>
    /// <param name="BarcodeString">條碼字符串</param>
    /// <param name="ImgWidth">圖片寬帶</param>
    /// <param name="ImgHeight">圖片高度</param>
    /// <returns></returns>
    public System.Drawing.Image CreateBarcodePicture(string BarcodeString, int ImgWidth, int ImgHeight)
    {
      BarcodeLib.Barcode b = new BarcodeLib.Barcode();//實例化一個條碼對象
      BarcodeLib.TYPE type = BarcodeLib.TYPE.CODE128;//編碼類型

      //獲取條碼圖片
      System.Drawing.Image BarcodePicture = b.Encode(type, BarcodeString, System.Drawing.Color.Black, System.Drawing.Color.White, ImgWidth, ImgHeight);

      //BarcodePicture.Save(@"D:\Barcode.jpg");

      b.Dispose();

      return BarcodePicture;
    }


    //預(yù)覽條碼
    private void button2_Click(object sender, EventArgs e)
    {
      pictureBox1.Image = CreateBarcodePicture(BarcodeString, ImgWidth, ImgHeight);
    }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。

上一篇:C#實現(xiàn)手機拍照并且保存水印照片

欄    目:C#教程

下一篇:C#如何實現(xiàn)圖片的剪裁并保存

本文標(biāo)題:C#條碼生成及打印實例代碼

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/6188.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有