Crystal Reports条形码Code 128 with C#

时间:2016-04-27 20:13:36

标签: c# barcode-printing

我对打印和阅读条形码感到困惑。我想使用C#生成Code 128裸码。使用Crystal Reports我发现了两种方法:

  • 添加dll文件
  • 使用条形码Code 128 font

但是我希望在我自己的应用程序中执行此操作,而不是Crystal Reports。

我想知道它们之间有什么区别? 使用字体是否有任何问题,因为它更简单,没有任何添加文件到我的项目?

最后任何人都可以给我一个链接下载条码Code 128字体(免费)

2 个答案:

答案 0 :(得分:1)

关于Code128的事情是,你不能只使用一种字体并去寻找它(例如CODE39就是这种情况)。为什么呢?

  1. 您需要添加开始/停止代码。
  2. 有三个子集,A,B和C,可以在条形码中选择和混合。它们可以表示的字符不同(例如:子集C只能包含偶数个数字,子集A不能包含小写字母等)。您需要知道要编码的内容。
  3. 您需要计算校验和。
  4. 符号系统的某些“ASCII代码”位于正常字符集的可打印区域之外。
  5. 结果:您确实需要一个软件来“编码”条形码。

    示例:软件需要转换

    Hello User
    

    <STARTB>Hello User<CHECKSUM><STOPCODE>
    

    或数字

    0815
    

    必须变成

    <STARTC>(/<CHECKSUM><STOPCODE>
    

    当然,您可以使用现成的库。但是:如果你search for a description of Code 128,你将很容易自己实现它。通常你会得到一张图片。

答案 1 :(得分:0)

我发现这个项目确实帮我解决了条码问题。 http://www.codeproject.com/Articles/20823/Barcode-Image-Generation-Library

它支持相当数量的编码并且相当容易使用

                string value = "12345678";
                TYPE encoding = TYPE.CODE128;

                var barcode = new Barcode(value, encoding);
                barcode.IncludeLabel = true; //We want to display the value below the image.
                Image image = barcode.Encode(encoding, value, 300, 100);
                //Handle the image here...

虽然它不是字体,但它会返回像这样的图像

enter image description here

可以按照您的意愿打印或处理。