使用JavaScript根据图片获取条形码的方法

发布时间 - 2026-01-11 02:10:56    点击率:

最近在弄一个零售超市的项目,但是苦于需要自己录入数据,超市少的也有1000多种商品,自己一个一个录入肯定不太现实,所以考虑扫描商品的条形码,根据条形码获取商品的信息这样效率就高多了。

根据条形码获取商品信息这个在网上有很多api一般都是付费的费用不高,可以直接拿来用,这里就略过了。

这里重点说说JavaScript识别图片中的条形码。

开源库quaggaJS

项目地址:https://github.com/serratus/quaggaJS

这里要感谢大神提供这么牛B的js库,让我的想法得以实现!

这个库的使用方式也非常简单,在github上有很丰富的讲解,但是我只使用了其中一个扫描条形码图片,获取条形码的功能,所以我就直接把我需要的功能列举一个例子,有其他的需求的可以去上面的连接里面找。

页面部分

<html>
<body>
<section id="container" class="container">
 <div class="controls">
   <fieldset class="input-group">
     <input type="file" accept="image/*;capture=camera">
     <button>Rerun</button>
   </fieldset>
 </div>
 <div id="result_strip">
  <ul class="thumbnails"></ul>
 </div>
 <div id="interactive" class="viewport"><canvas class="imgBuffer" width="800" height="566"></canvas><canvas class="drawingBuffer" width="800" height="566"></canvas><br clear="all"></div>
</section>
<script src="jquery-1.11.0.min.js"></script>
<script src="quagga.min.js" type="text/javascript"></script>
<script src="file_input.js" type="text/javascript"></script>
</body>
</html>

JavaScript部分

$(function() {
   $(".controls button").on("click", function(e) {
    var input = document.querySelector(".controls input[type=file]");
    if (input.files && input.files.length) {
      Quagga.decodeSingle({
        inputStream: {
          size: 800 // 这里指定图片的大小,需要自己测试一下
        },
        locator: {
          patchSize: "medium",
          halfSample: false
        },
        numOfWorkers: 1,
        decoder: {
          readers: [{
            format: "ean_reader",// 这里指定ean条形码,就是国际13位的条形码
            config: {}
          }]
        },
        locate: true,
        src: URL.createObjectURL(input.files[0])
      }, function(result) {
         var code = result.codeResult.code,
          $node,
          canvas = Quagga.canvas.dom.image;
        // 将扫描得到的条形码打印出来
        $node = $('<li><div class="thumbnail"><div class="imgWrapper"><img /></div><div class="caption"><h4 class="code"></h4></div></div></li>');
        $node.find("img").attr("src", canvas.toDataURL());
        $node.find("h4.code").html(code);
        $("#result_strip ul.thumbnails").prepend($node);
      });
    }
  });
});

效果展示

以上所述是小编给大家介绍的使用JavaScript根据图片获取条形码的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js  # 根据图片获取条形码  # JavaScript脚本库编写的方法  # Javascript公共脚本库系列(一): 弹出层脚本  # 使用javascript解析二维码的三种方式  # 浅谈js二维码扫码登录是什么原理  # 使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解  # 二维码条形码生成的JavaScript脚本库  # 小编  # 开源  # 都是  # 我就  # 也有  # 过了  # 在此  # 不太  # 有很多  # 我只  # 把我  # 其他的  # 上有  # 大神  # 给大家  # 不高  # 可以直接  # 其中一个  # 所述  # 给我留言 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: iOS中将个别页面强制横屏其他页面竖屏  html如何与html链接_实现多个HTML页面互相链接【互相】  用v-html解决Vue.js渲染中html标签不被解析的问题  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  网页设计与网站制作内容,怎样注册网站?  如何快速搭建二级域名独立网站?  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  googleplay官方入口在哪里_Google Play官方商店快速入口指南  实例解析Array和String方法  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  深圳网站制作培训,深圳哪些招聘网站比较好?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  进行网站优化必须要坚持的四大原则  如何用好域名打造高点击率的自主建站?  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  Internet Explorer官网直接进入 IE浏览器在线体验版网址  油猴 教程,油猴搜脚本为什么会网页无法显示?  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel怎么调用外部API_Laravel Http Client客户端使用  php结合redis实现高并发下的抢购、秒杀功能的实例  高端企业智能建站程序:SEO优化与响应式模板定制开发  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  Laravel如何实现模型的全局作用域?(Global Scope示例)  JavaScript中的标签模板是什么_它如何扩展字符串功能  JavaScript常见的五种数组去重的方式  如何快速搭建支持数据库操作的智能建站平台?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何快速重置建站主机并恢复默认配置?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  UC浏览器如何设置启动页 UC浏览器启动页设置方法  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  如何快速搭建个人网站并优化SEO?  如何在IIS管理器中快速创建并配置网站?  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  怎样使用JSON进行数据交换_它有什么限制  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何快速搭建虚拟主机网站?新手必看指南  如何自定义建站之星网站的导航菜单样式?  高端云建站费用究竟需要多少预算?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  如何挑选最适合建站的高性能VPS主机?  Python文件操作最佳实践_稳定性说明【指导】  JavaScript模板引擎Template.js使用详解  如何解决hover在ie6中的兼容性问题  Android中AutoCompleteTextView自动提示  香港服务器租用每月最低只需15元?  Laravel中间件如何使用_Laravel自定义中间件实现权限控制