将条形码扫描仪集成到php应用程序中?

php
2022-08-30 10:24:00

我们一直在用php开发Web应用程序。
我们需要将条形码扫描仪集成到我们的应用程序中。

我们的应用程序分为两个模块,用户和商家。

当用户来扫描卡时,商家应通过条形码号码识别用户。管理员将提供条形码编号,该条形码编号将发送给卡制造商,该编号将分配给磁条。

据我所知,扫描仪可以充当键盘,您能告诉将条形码扫描仪集成到这个基于php Web的应用程序的方法吗?


答案 1

PHP可以很容易地用于读取打印在纸质文档上的条形码。通过USB将手动条形码阅读器连接到计算机,显着扩展了PHP(或任何其他Web编程语言)的可用性,使其扩展到涉及文档和产品管理的任务中,例如在数据库中查找账簿记录或列出特定客户的所有账单。

以下各节简要介绍了将手动条形码阅读器与PHP连接和使用的过程。

本文中描述的条形码扫描仪的使用同样适用于任何Web编程语言,例如ASP,Python或Perl。本文仅使用PHP,因为所有测试都是使用PHP应用程序完成的。

什么是条形码阅读器(扫描仪)

条形码阅读器是一种硬件可插入计算机,将解码的条形码字符串发送到计算机中。诀窍是知道如何捕获收到的字符串。使用PHP(和任何其他Web编程语言),字符串将被放置在浏览器中的集中输入HTML元素中。因此要捕获收到的条形码字符串,必须完成以下操作:

就在读取条形码之前,必须聚焦正确的输入元素,例如输入文本字段(鼠标光标位于输入字段内)。一旦聚焦,当代码被识别时开始读取代码(条形码阅读器通常很快就会发出哔哔声),它被发送到聚焦的输入字段。默认情况下,大多数条形码阅读器会将额外的特殊字符附加到称为 CRLF (ENTER) 的解码条形码字符串中。例如,如果解码的条形码是“12345AB”,那么计算机将收到“12345AB”。附加的字符(或)模拟按回车键导致即时提交HTML表单:ENTERENTERCRLF

<form action="search.php" method="post">
    <input name="documentID" onmouseover="this.focus();" type="text">
</form>

选择合适的条码扫描器

在选择条形码阅读器时,应该考虑用它读取哪些类型的条形码。有些条形码只允许数字,有些则没有校验和,有些条形码很难用喷墨打印机打印,一些条形码阅读器的阅读窗格很窄,无法读取例如长度超过10厘米的条形码。大多数条形码阅读器支持常见的条形码,如EAN8,EAN13,CODE 39,交错2/5,代码128等。

出于办公目的,最合适的条形码似乎是那些支持各种字母数字字符的条形码,可能是:

  • 代码 39 - 支持 0-9、大写 A-Z 和几个特殊字符(短划线、逗号、空格、$、/、+、%*)
  • code 128 - 支持 0-9、a-z、A-Z 和其他扩展字符

其他需要注意的重要事项:

  • 确保支持所有标准条形码,至少CODE39,CODE128,交错25,EAN8,EAN13,PDF417,QRCODE。
  • 仅使用标准 USB 插入式电缆。RS232接口适用于工业用途,而不是连接到单个PC。
  • 电缆应该足够长,至少1.5米 - 越长越好。
  • 插入计算机的条形码阅读器不应需要其他电源 - 只需通过USB连接到PC即可打开电源。
  • 如果您还需要将条形码打印到生成的PDF文档中,则可以使用支持大多数常见2D条形码的TCPDF开源库。

安装扫描仪驱动程序

安装手动条形码阅读器需要为您的特定操作系统安装驱动程序,并且通常应与购买的条形码阅读器一起提供。

安装并准备就绪后,条形码阅读器会打开信号LED灯。读取条形码从按下用于读取的按钮开始。

扫描条形码 - 它是如何工作的?

第1步 - 聚焦输入字段,准备从条形码扫描仪接收字符流:

step 1

第2步 - 从条形码扫描仪接收的条形码字符串立即提交到数据库中进行搜索,这创造了很好的“自动化”效果:

step 2

第3步 - 使用提交的条形码搜索数据库后返回的结果:

step 3

结论

到目前为止,使用PHP(实际上是任何Web编程语言)来扫描条形码似乎被忽视了。但是,借助模拟按键(ENTER/CRLF)的自然支持,通过简单的HTML(GUI)fomular自动收集和处理识别的条形码字符串非常容易。

关键是要了解,识别的条形码字符串会立即发送到聚焦的HTML元素,例如带有附加尾随字符ASCII 13(= ENTER / CRLF,可配置选项)的INPUT文本字段,该字段立即将带有填充的已接收条形码的输入文本字段作为HTML公式发送到任何其他脚本以进行进一步处理。

参考资料: http://www.synet.sk/php/en/280-barcode-reader-scanner-in-php

希望这有助于您:)


答案 2

您可以使用AJAX来实现这一点。每当您扫描条形码时,您的扫描仪都会像键盘一样输入您的组件。使用JavaScript,捕获相应的事件,并相应地发送HTTP REQUEST和处理响应。input type="text"


推荐