2009-01-27 55 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