2016-04-27 93 views
0

我对打印和阅读条码非常困惑。我想用C#生成Code 128的barecode。使用Crystal Reports我发现两种方法是:Crystal Reports条形码Code 128 with C#

  • 通过使用条码码128字体

但是我要做到这一点我自己的应用程序,而不是水晶报表中添加DLL文件

  • 我想知道他们之间有什么区别? 使用字体有什么问题,因为它更简单,并且没有向我的项目添加文件?

    最后谁能给我一个链接,下载条码代码128字体(FREE)

  • +0

    是否必须是字体或可以生成条形码图像? – Skami

    +0

    不需要它是一个字体 – samer

    回答

    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

    这可能被打印的字体或按照您的意愿进行处理。

    +0

    我在发布之前先看看该项目,但我不想要独立软件,我真的不想要处理这个问题,作为我窗口窗体中所有项目的一部分需要根据在文本框内输入的数据生成条形码 – samer

    1

    关于Code128的一点是,你不能只是使用一种字体并去做它(比如CODE39就是这样)。为什么?

    1. 您需要添加开始/停止代码。
    2. 有三个子集,A,B和C可以在条形码中选择和混合。它们在可表示的字符方面有所不同(例如:子集C只能包含偶数的号码,子集A不能包含小写字母等)。你需要知道你想要编码的东西。
    3. 您需要计算校验和。
    4. 符号的某些“ASCII码”在正常字符集的可打印区域之外。

    结果:您真的需要一块软件来“编码”条形码。

    例:软件需要转换

    Hello User 
    

    <STARTB>Hello User<CHECKSUM><STOPCODE> 
    

    或数字

    0815 
    

    将不得不变成

    <STARTC>(/<CHECKSUM><STOPCODE> 
    

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