NET zxing.dll MVC打印条码和二维码

前台

<img src="/Home/BarCodeImg?code=111111111111&width=305&height=100" />

<img src="/Home/QRCodeImg?code=122121&width=300&height=300" />

效果

NET zxing.dll MVC打印条码和二维码

NET zxing.dll MVC打印条码和二维码

后台

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ZXing;
using ZXing.Common;

namespace PrintBarCode.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            return View();
        }

        public ActionResult BarCode()
        {
            return View();
        }
        public ActionResult BarCodeImg(string code, int width, int height)
        {
            BarcodeWriter barCodeWriter = new BarcodeWriter();
            barCodeWriter.Format = BarcodeFormat.EAN_13;
            barCodeWriter.Options.Hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");
            barCodeWriter.Options.Hints.Add(EncodeHintType.ERROR_CORRECTION, ZXing.QrCode.Internal.ErrorCorrectionLevel.H);
            barCodeWriter.Options.Height = height;
            barCodeWriter.Options.Width = width;
            barCodeWriter.Options.Margin = 0;
            ZXing.Common.BitMatrix bm = barCodeWriter.Encode(code);
            Bitmap img = barCodeWriter.Write(bm);
            MemoryStream ms = new MemoryStream();
            img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            img.Dispose();
            return File(ms.ToArray(), "image/jpeg");
        }
        public ActionResult QRCodeImg(string code, int width, int height)
        {
            BarcodeWriter barCodeWriter = new BarcodeWriter();
            barCodeWriter.Format = BarcodeFormat.QR_CODE;
            barCodeWriter.Options.Hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");
            barCodeWriter.Options.Hints.Add(EncodeHintType.ERROR_CORRECTION, ZXing.QrCode.Internal.ErrorCorrectionLevel.H);
            barCodeWriter.Options.Height = height;
            barCodeWriter.Options.Width = width;
            barCodeWriter.Options.Margin = 0;
            ZXing.Common.BitMatrix bm = barCodeWriter.Encode(code);
            Bitmap img = barCodeWriter.Write(bm);
            MemoryStream ms = new MemoryStream();
            img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            img.Dispose();
            return File(ms.ToArray(), "image/jpeg");
        }
        public ActionResult QRCode()
        {
            return View();
        }
    }
}