pdf417 Javascript阅读/解码

Mit*_*inn 5 javascript jquery html5 decoder pdf417

我的任务是为基于Web的应用程序添加pdf417(驾驶执照)解码/阅读.

输入:驾驶执照的图像.(400-600 dpi)

处理:检测/解析pdf417数据.

输出:解析pdf417数据.

限制:它是一个基于网络的应用程序运行:IE,Chrome,Safari.我无法在本地计算机上安装任何东西.

所以我现在已经调查了几天,我还没有想出一个很好的方法来完成这项工作.理想情况下,整个解码将使用Javascript/Jquery在客户端计算机上进行.但是我发现没有可以执行此操作的脚本/库.我发现的唯一其他选项可能是java servlet或php扩展; 这两个都不理想,因为上传时间会让我超过我的时间分配.

有谁知道任何可以处理这个的javascript或JQuery库?

或者也许是一种更好的方法来合并我没有看到的这个功能?

小智 7

我的贡献是双重的.首先(好消息!)我100%肯定希望你想要使用JavaScript是可以实现的CAVEAT:Chrome/Firefox可能都可以,但它只适用于更现代版本的Safari(6+)和IE(IE10 + ).来源http://caniuse.com/filereader

其次,我希望我的贡献可以帮助你解决问题,尽管我承认我没有想出PDF417图像阅读算法,这将是最后一块拼图.

好的我们继续: a)让JavaScript(在客户机上运行)向用户提供一个GUI,允许他们从本地文件系统中选择一个文件(他们的驾驶执照的照片),然后...... b)将它带入JavaScript应用程序(所有这些都不涉及服务器或Java); 和... c)...用JavaScript解析它并解释PDF417条形码的暗/亮模式,以推断其中编码的"明文"人类可读数据.我提到Java不是Java applet的选项,似乎永远不会允许在Chrome中运行,尽管Java有一个很好的Image数据处理包,它很好地分类到这个东西.

a)所需的理解和代码

HTML表单允许程序员使用文件上载字段多年.你需要:

<input type="file" id="myFileInput">
Run Code Online (Sandbox Code Playgroud)

b)所需的理解和代码

此外,在JavaScript方面你需要(最重要的是)使用HTML5 FileReader Api(参见http://blog.teamtreehouse.com/reading-files-using-the-html5-filereader-api). .vis,以对比:

var reader = new FileReader();
// ... and ...
reader.readAsDataURL(file);
Run Code Online (Sandbox Code Playgroud)

readAsDataURL()插入src实例化的图像实例的属性 时,将为您提供base64编码的二进制数据var ing = new Image();.即设置srcdata:image/gif;base64,*data* 做完这些后,你至少可以显示在您的网页驾驶证.后来我提到了这个新实例化的图像并通过Canvas的2D上下文显示,只是将appendChild()'将新图像添加到DOM中,但我们将在一分钟内完成.到目前为止我所讨论的所有内容都可以在blog.teamtreehouse.com的代码笔演示(http://codepen.io/matt-west/pen/CfilG)上看到.此外,对于更初学者友好的谈话,FileReader()你可能想看这个视频(http://www.sitepoint.com/reading-images-data-using-canvas-javascript/)但要耐心等待你想要的东西图片上传和显示只提到5分30秒.

c)所需的理解和代码

这是因为我没有找到你到底发生了什么,但我确实找到了UPC格式的条形码:http://badassjs.com/post/654334959/barcode-scanning-in-javascript(demo = http ://tobeytailor.s3.amazonaws.com/get_barcode_from_image/index.html).我不确定,但我认为要实现这一目标,Tobey必须蚕食来自new Image()(一旦src通过fileReader()API 填充数据)的数据并在Canvas 2d上下文中使用它.它证明了它可以完成,但在编写算法时知道如何解释你必须理解的数据PDF417:我发现这些链接是有用的起始位置

http://en.wikipedia.org/wiki/PDF417

http://omniplanar.com/PDF417-2D-Barcode.php

祝好运!


rmh*_*isk 5

我们做了一个原型来做你想做的事情,作为我们创建的一部分 - https://github.com/PeculiarVentures/js-zxing-pdf417处理 PDF417 解析。

此解决方案是 100% 客户端。

我们发现了相机分辨率和缺乏自动对焦的问题,但如果您从文件中读取代码,则没有问题。

我也有信心对网络摄像头捕获的图片进行一些预处理(帧平均、锐化滤镜等),您甚至可以让网络摄像头外壳可靠地工作。