1

我正在使用 asp.net/c# 开发一个生成条形码的 Web 应用程序,我想知道使用条形码库是否更好,或者条形码字体就足够了。我遇到了一些示例,但是当使用条形码字体时,我发现有用于生成条形码的每个代码前面都有一个星号(*)。我想找到任何免费的条形码库。我想生成代码 39 或 93。请帮我决定

4

3 回答 3

0

试试jquery-barcode

它是一个用于生成条形码的 javascript 库。查看此问题以了解其他选择。

于 2012-03-14T09:38:07.303 回答
0

这是我正在使用的一种扩展方法,不需要您安装字体:

public static Image GetBarCode(this string data, int fontSizeEm)
        {
            data = "*" + data + "*";
            Image img = null;
            Graphics drawing = null;
            try
            {
                using (var pfc = new PrivateFontCollection())
                {
                    pfc.AddFontFile(@"{{PATH TO YOUR FONT FILE}}");
                    using (var myfont = new Font(pfc.Families[0], fontSizeEm))
                    {
                        img = new Bitmap(1, 1);
                        drawing = Graphics.FromImage(img);
                        var textSize = drawing.MeasureString(data, myfont);
                        img.Dispose();
                        drawing.Dispose();
                        img = new Bitmap((int) textSize.Width, (int) textSize.Height);
                        drawing = Graphics.FromImage(img);
                        drawing.DrawString(data, myfont, new SolidBrush(Color.Black), 0, 0);
                    }
                    drawing.Save();
                }
                return img;
            }
            catch
            {
                //Handle exception
                return null;
            }
            finally
            {
                if(drawing!= null)
                    drawing.Dispose();
            }
        }
于 2014-10-17T19:12:43.673 回答
0

根据我的经验,通过矩形等图形基元生成条形码的库远远优于条形码字体。原因:

  • 字体要大得多,通常是数量级,并且传输时间要长得多。这在串行连接上尤其成问题。
  • 字体产生的条形码通常不太准确,因为打印机可能会尝试对条形进行抗锯齿处理。
  • 字体受样式、自动换行、字体替换和其他难以控制的影响等因素的影响。

有很多免费的条形码图像库。如果你没有找到任何你看起来不太好。

条码 3 of 9 需要在代码的开头和结尾处设置防护栏,以便扫描仪知道代码的开始和结束位置。打印代码 3 of 9 的图例时,这些防护栏传统上显示为星号。这些星号仅供阅读图例的人使用,它们不是代码的一部分,实际上星号不是 9 个字符的合法代码 3。如果您移除防护栏,扫描仪将无法读取条形码。

于 2014-10-17T20:30:10.063 回答