[ASP.NET MVC] 產生一維條碼Barcode(Code 39、Code128、ISBN)

[ASP.NET MVC]Barcode 產生一維條碼(Code 39、Code128、ISBN)

最近專案剛好要產生Code39一維條碼,找到了這個Library

BarcodeLib

支援多種(Code 128、Code 11、Code 39..等等)

barcode_sup

(圖節錄自http://www.codeproject.com/Articles/20823/Barcode-Image-Generation-Library)

 

 

說明:

1.先下載BarcodeLib

image

 

2.把BarcodeLib.dll加入參考至專案

 image

image

 

3.建立Barcode方法在Controller

   1: using System;
   2: using System.Collections.Generic;
   3: using System.Linq;
   4: using System.Web;
   5: using System.Web.Mvc;
   6: using BarcodeLib;
   7: using System.Drawing;
   8: using System.Drawing.Imaging;
   9: namespace BarcodeDemo.Controllers
  10: {
  11:     public class HomeController : Controller
  12:     {
  13:         // GET: Home
  14:         public ActionResult Index()
  15:         {
  16:             return View();
  17:         }
  18:  
  19:         public void Barcode(string sn = null)
  20:         {
  21:             Response.ContentType = "image/gif";
  22:             Barcode bc = new Barcode();
  23:             bc.IncludeLabel = true;//顯示文字標籤
  24:             bc.LabelFont = new Font("Verdana", 9f);//文字標籤字型、大小
  25:             bc.Width = 300;//寬度
  26:             bc.Height = 100;//高度
  27:             Image img = bc.Encode(TYPE.CODE39, sn, bc.Width, bc.Height);//產生影像
  28:             img.Save(Response.OutputStream, ImageFormat.Gif);
  29:             Response.End();
  30:         }
  31:     }
  32: }

PS:如需修改條碼類型,則修改{TYPE.CODE39}部分

 

4.這時候我們已經可以用網址取得圖片了

image

 

但如果想在網頁中加入

image

 

在網頁中加入此行,SN部分則為條碼內容

   1: <img src="@Url.Action("Barcode", new { sn = "39123439"})" />

PS:筆者在編碼內容為寫死,通常會從資料庫中抓取該商品的編碼內容

 

 

另外可以依照需求把圖片產生後存在server端,才不用每次讀取時再算一次圖

附上此範例專案檔(GitHub):https://github.com/mrsunboss/BarcodeDemo_WEB

 

 

 


如有錯誤還請各位先進前輩們不吝嗇的指教,謝謝。