52 lines
1.1 KiB
C#
52 lines
1.1 KiB
C#
|
|
using System.Drawing;
|
|
using System.Drawing.Imaging;
|
|
using System.DrawingCore;
|
|
using System.DrawingCore.Imaging;
|
|
using ZXing;
|
|
using ZXing.Common;
|
|
|
|
|
|
|
|
namespace DOAN.Infrastructure.Helper;
|
|
|
|
public class PrintHelper
|
|
{
|
|
/// <summary>
|
|
/// 打印条形码
|
|
/// </summary>
|
|
/// <param name="message"></param>
|
|
/// <param name="width"></param>
|
|
/// <param name="height"></param>
|
|
/// <returns></returns>
|
|
public static byte[] CreateBarCode(string message, int width, int height)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(message))
|
|
{
|
|
return null;
|
|
}
|
|
var w = new ZXing.OneD.Code128Writer();
|
|
BitMatrix b = w.encode(message, BarcodeFormat.CODE_128, width, height);
|
|
var zzb = new ZXing.ZKWeb.BarcodeWriter();
|
|
zzb.Options = new EncodingOptions()
|
|
{
|
|
Margin = 0,
|
|
PureBarcode = false
|
|
};
|
|
|
|
Bitmap b2 = zzb.Write(b);
|
|
|
|
|
|
using (var ms = new System.IO.MemoryStream())
|
|
{
|
|
b2.Save(ms, ImageFormat.Png);
|
|
var bytes = ms.ToArray();
|
|
|
|
return bytes;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
} |