2016-04-27 94 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你會很容易地自己實現它。通常你會得到一個圖像。