【问题标题】:integrating barcode scanner into php application?将条码扫描器集成到 php 应用程序中?
【发布时间】:2011-12-11 17:10:30
【问题描述】:

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

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

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

我知道扫描仪可以作为键盘,你能告诉我将条码扫描仪集成到这个基于 php 网络的应用程序中的方法吗?

【问题讨论】:

    标签: php


    【解决方案1】:

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

    以下部分简要描述了使用 PHP 连接和使用手动条形码阅读器的过程。

    本文中描述的条码扫描器的用法在 相同的方式适用于任何 Web 编程语言,例如 ASP, Python 或 Perl。本文仅使用 PHP,因为所有测试都已完成 用 PHP 应用程序完成。

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

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

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

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

    选择合适的条码扫描器

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

    对于办公用途,最合适的条码似乎是那些支持所有字母数字字符的条码,可能是:

    • 代码 39 - 支持 0-9、大写的 A-Z 和一些特殊字符(破折号、逗号、空格、$、/、+、%、*)
    • 代码 128 - 支持 0-9、a-z、A-Z 和其他扩展字符

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

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

    安装扫描仪驱动程序

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

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

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

    第 1 步 - 重点输入字段准备好接收来自条形码扫描仪的字符流:

    STEP 2 - 从条码扫描器接收到的条码字符串立即提交到数据库中进行搜索,从而产生了很好的“自动化”效果:

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

    结论

    目前看来,使用 PHP(实际上是任何 Web 编程语言)来扫描条码的做法被忽视了。然而,由于对模拟按键 (ENTER/CRLF) 的自然支持,很容易通过简单的 HTML (GUI) 格式自动收集和处理已识别的条形码字符串。

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

    Reference: http://www.synet.sk/php/en/280-barcode-reader-scanner-in-php

    希望对你有帮助:)

    【讨论】:

    • 我知道这个问题有点老了。但我有一个相关的问题。我已经开发了一个带有物理条形码扫描仪的小 php 应用程序。但现在我喜欢通过使用手机作为扫描仪来扩展它,并将扫描的数据存储在手机上。你有什么建议我可以使用哪个 android 条形码应用程序来扫描和存储我可以导入到我的 php 应用程序中的数据?
    • 参考链接解释完全一样...感谢 Lubos Dzurik(作者)写了这么好的文章,也感谢您。 :)
    【解决方案2】:

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

    【讨论】:

    • 通过wifi/蓝牙连接时是否像键盘输入设备?
    【解决方案3】:

    我一直在使用这样的东西。只需使用文本输入设置一个简单的 HTML 页面。确保 textinput 始终具有焦点。当您使用条形码扫描仪扫描条形码时,您将收到代码,然后“输入”。那么真的很简单;只需捕获传入的击键,当“输入”进入时,您就可以使用 AJAX 来处理您的代码。

    【讨论】:

      【解决方案4】:

      如果你有蓝牙,在 windows 上使用 twedge 和在 android 上使用 getblue 应用程序,他们也有它的一些视频。它是由 TEC-IT 制造的。我通过在 TWedge 中将接口选项设置为蓝牙服务器并将 getblue 中的输出设置设置为蓝牙客户端并从蓝牙设备列表中选择我的计算机来使其工作。确保您的计算机和手机已配对。还要获取条形码作为输入,将 TWedge 中的操作设置设置为 Keyboard Wedge。这将允许您首先单击所述表单上的输入文本框,然后用手机扫描所述产品并等待一秒钟,以便将条形码编号输入文本框中。使用此方法不需要当前表单处理中不存在的 php,只需像往常一样处理文本框,然后手机扫描条形码,通过蓝牙将它们无线发送到您的电脑,您的计算机将条形码插入到任何文本中在任何应用程序或网站中选择字段。希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2012-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多