如何在asp.net中打印条形码

本文关键字:打印 条形码 net asp | 更新日期: 2023-09-27 18:08:01

我有一个asp.net网站,我想用c#打印一些条形码。我使用的"IDAutomationHC39M"字体如下:

public static void PrintSmallBarcode(HtmlGenericControl divBarCode, string barCode)
    {
        System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image();
        using (Bitmap bitMap = new Bitmap(75, 18))
        {
            using (Graphics graphics = Graphics.FromImage(bitMap))
            {
                Font oFont = new Font("IDAutomationHC39M", 7);
                PointF point = new PointF(0, 0);
                SolidBrush blackBrush = new SolidBrush(Color.Black);
                SolidBrush whiteBrush = new SolidBrush(Color.White);
                graphics.FillRectangle(whiteBrush, 0, 0, bitMap.Width, bitMap.Height);
                graphics.DrawString(barCode, oFont, blackBrush, point);
            }
            using (MemoryStream ms = new MemoryStream())
            {
                bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                byte[] byteImage = ms.ToArray();
                Convert.ToBase64String(byteImage);
                imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage);
                imgBarCode.CssClass = "cssbarcode";
            }
        }
        div.Controls.Add(imgBarCode);
}

可以工作,但是条形码的质量很低,我的条码读取器无法读取。我不能增加图像的大小,当然我看到很多好的条形码比我的尺寸小。我将"IDAutomationHC39M"字体替换为"free3of9.ttf",但这种字体只是绘制数字而没有条形码线!我怎样才能得到更好的条形码?

如何在asp.net中打印条形码

这是条形码字体长期存在的问题;它们很大,而且扫描起来很糟糕,因为打印机试图对条形图进行反混叠。

使用图像而不是字体来绘制条形码。有许多可用的包,例如Barcode Rendering Framework。

您可以使用其他数据来更改条形码的大小。在Visual c# ASP中,我使用了keepautomation条形码生成器来创建条形码图像。网络项目。在我的设置之后,我可以预览条形码的大小。