使用 Barcode Rendering Framework

19:36 0 Comments A+ a-

很久沒寫文了,來補一下 :p

有一個需求,得要產生條碼圖使用。當然首選是 Barcode Rendering Framework / BRF 這個套件。原因無他,除了是 OpenSource 外,支援廣度夠,還有一個主因就是,使用 BRF 不用再額外安裝條碼字形即可產生條碼圖。
這次的應用平台是在 ASP.Net MVC5 上,有些要稍微留意地方,在這裡記錄一下。

首先,先到 codeplex 下載最新版的 BRF .dll 檔。

解壓縮後,將 Zen.Barcode.Core.dll、Zen.Barcode.Web.dll、Zen.Barcode.Web.Mvc.dll 三個檔案加入專案參考。

接著,在 RouteConfig.cs 裡增加一個 route 設定,如下:

routes.Add("BarcodeImaging", new Route("Barcode/{id}", new BarcodeImageRouteHandler()));
為什麼要加這一段,稍後解釋。

再來,我們在需要產生條碼的 View 上,引用
@using Zen.Barcode.Web.Mvc
接著就頁面上就能呼叫下列的 barcode sample 了。
<img src="@Url.Barcode("123456789", Zen.Barcode.BarcodeSymbology.Code128, 30, 1, true)" />
執行後,我們就可以看到一個很簡單就產生的條碼圖了。試著看它的 HTML 原始碼,會發現條碼圖的 html 的長相如下,
<img src="/Barcode/77u_QmFyY29kZVs0LDYwLDYwLDEsMSwxXTo5MjM2NTE4MjQwMTE5MDAwMDAwMTo5MjQyODQwMjY1" />
如果,沒有在 RouteConfig 加上上一步驟的設定程式碼,那麼就不能看到條碼圖了。因為 mvc route 無法辨別 Barcode 這個 controller,所以得再 render 之前加上該 BarcodeImageRouteHandler 的程式碼。

就是這麼簡單。