2009-01-27 50 views
20

我希望能夠將產品信息存儲在Web應用程序的數據庫中,我決定將條形碼作爲一個好的產品標識符會很好。現在,我只是希望能夠在數據庫中存儲代碼的數字表示,所以我需要找出最大長度,格式等...條碼編程入門的好資源?

最終我希望能夠將它與條形碼閱讀器。

有沒有什麼好的資源可以幫助別人開始使用條形碼編程?

回答

2

條碼有lots of different formats

如果您還沒有綁定到編程語言或barcode scanner vendor,最好的地方是讓掃描儀供應商查看他們提供的庫。您可能會根據供應商向開發人員提供的庫來找到一個良好的匹配。

3

我已經做了一些使用條形碼掃描儀的應用程序,其中大多數不需要任何特殊的編程。輸入通常看起來像是來自鍵盤的程序。因此,只需構建您的數據輸入表單以接受與條碼中存儲的數值相當的數字,對於大多數掃描儀,您將會很好。比你最初想象的更容易支持。

另一方面,打印條形碼有點棘手,通常需要特殊的工具包。有免費的字體可用,但結果可能是一種命中或錯過取決於你正在編碼。

1

大多數條形碼閱讀器都非常簡單 - 就個人電腦而言,它們只是鍵盤輸入。大多數當前的掃描儀可以自動讀取和解碼各種編碼方案。它們可以配置爲發送特殊的前/後綴,以便您的應用程序可以檢測來自掃描儀的輸入,而不僅僅是鍵盤。大多數掃描儀也可以配置爲告訴您正在掃描的條形碼的類型,如果這對您很重要。

某些條形碼只是數字,有些是字母數字。你可能想要確定你設計你的數據庫以允許字母數字數據,除非你確信你只會處理數字。

+0

將條碼存儲爲字符串而非數字總是更有意義。如果您試圖使用條形碼進行添加,那麼這意味着一個損壞的校驗碼。 – joeforker 2009-02-11 16:48:01

0

既然你沒有指定任何語言,你應該看看的Real World Haskell

第12章這可能不是正是你想要的,但可能是有趣的/有幫助。

3

如果要使用便宜的條形碼閱讀器,請使用Code128。它可以對幾乎任意長度的數字和/或文本進行編碼(僅限於數字的內容以50%較小的條碼編碼)。

如果您想使用照相機/手機進行條形碼解碼,請使用datamatrix。您可以將大約1kb的數據放入datamatrix條形碼中。 (編輯2015:QRcode似乎慢慢地殺死datamatrix。所以去QRcode而不是datamatrix。)

維基百科在barcodes的主題上有非常不錯的報道。

無恥的插件:如果您對條形碼的編碼和解碼方式感興趣,您可能需要查看免費的Python庫huBarcode,它實現了純Python中最常見的條形碼方案。它由我的公司出版。

讀取條形碼非常簡單,因爲掃描儀模擬鍵盤。所以你只需要掃描而不是打字。我們有幾種內部網絡應用程序,這些應用程序僅用於配備掃描儀和軌跡球的電腦上 - 完全沒有鍵盤。這種設置不需要特殊的驅動程序。

12

基於大量的條碼項目,這裏有一個簡要的總結。

  1. 您的應用程序不需要知道或做任何不同的事情,因爲您使用的是條形碼。它們只是可能被打印的數據的表示。符號體系和維度可以在您需要時放在一起的封裝抽象層中處理。

  2. 符號通常由現場要求決定,如客戶標準,行業標準等。如果是供內部使用,則Code 39通常被認爲是良好的默認值。

  3. 對於印刷,大多數需求可以使用激光打印機,特殊標籤庫存和可下載的字體來處理。特殊打印機也有多種來源,包括Zebra,Intermec等;但是這些更昂貴,並且您需要留意專有(讀取:昂貴)紙張以便打印。

  4. 字體。谷歌一般是用於「條形碼字體」,但一個便利的替代方案是Postscript barcode generator,它可以打印大多數任何Postscript打印機上絕大多數任何尺寸的符號系統。

  5. 閱讀條碼。使用PC輸入設備讀取條形碼時,通常使用設備驅動程序來提供正常的打開/關閉/讀取/寫入/ ioctl等效項,或者將其作爲替代鍵盤與您的實際鍵盤內嵌,因此輸入顯示爲擊鍵(可選帶有終端換行符)。非PC設備顯然有自己的編程要求。

5

我已經做了相當數量的條碼工作。

有兩方面,你將不得不熟悉。

生成/打印條碼

這將涉及使用特定類型的條形碼格式。代碼128通常是最常見的,對於大多數格式來說最容易閱讀,並打印最小的條形碼。要打印Code 128格式的條形碼,您需要一個字體,您可以購買的庫(idautomation等),等等,您將集成到您的軟件中以打印條形碼。代碼39也很常見(通常是免費的)。它會打印真正寬的條碼,但是您的條碼數據會變得更大。

如果打算使用條形碼打印標籤,則可能需要查看Zebra打印機。它們內置了優秀的編程語言(ZPL),可以讓您生成所有類型的條形碼 - 無需購買字體或庫。

這裏要考慮的重要一點是條形碼的可讀性。你會發現條形碼尺寸明智像一個字體。確保您的條碼可以在您的媒體上打印,並且可掃描(不會起皺,摺疊或剝落等)將非常重要。

讀/使用條形碼

讀取條形碼將某種類型的掃描儀開始。您可以獲取將讀取任何類型的條形碼並將解碼後的條形碼作爲輸入傳送的條形碼。所以,如果你在屏幕上選擇了一個字段,掃描某些內容,條形碼的內容將會被輸入到該字段中。

你可以做的另一件事是購買一臺運行palm OS或windows ce/mobile的移動掃描儀,例如由符號,psion teklogix等製作的移動掃描儀。可以設置這些設備來運行一個用於接收,運輸系統將推動您的工作流程。

我發現生活通過不重新發明輪子變得更容易。我已經使用了上面提到的所有產品,並發現它們很好地結合在一起。有一些非常棒的java條碼庫以及免費的,我相信你也會爲.NET找到一些東西。如果您有任何其他問題,請告訴我。

2

我爲iPhone Wallet Zero Home Page開發了Wallet Zero,它生成的條形碼與會員卡上的條形碼相匹配。雖然它的工作,我發現了一些很好的參考&資源(有的已經被別人提及):

0

您必須check out the CueCat
:-)

+2

雖然此鏈接可能會回答問題,但最好在此處包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – phs 2012-08-30 19:17:07