6

私はpdf417(運転免許証)のデコード/Webベースのアプリケーションの読み取りを追加する任務を負っています。

入力: 運転免許証の画像。(400~600dpi)

処理: pdf417 データの検出/解析。

出力: pdf417 データを解析します。

制限事項: IE、Chrome、Safari 経由で実行される Web ベースのアプリです。ローカル マシンに何もインストールできません。

そのため、私は数日間調査してきましたが、これを機能させる良い方法がわかりませんでした。理想的には、Javascript/Jquery を使用して、クライアント マシン上で全体のデコードが行われます。ただし、これを実行できるスクリプト/ライブラリは見つかりませんでした。私が見つけた唯一の他のオプションは、おそらく Java サーブレットまたは php 拡張機能でした。どちらも理想的ではありません。アップロード時間が割り当てられた時間を超えてしまうからです。

これを処理できるJavaScriptまたはJQueryライブラリを知っている人はいますか?

それとも、私が見ていないこの機能を組み込むためのより良い方法でしょうか?

4

3 に答える 3

7

私の貢献は2倍です。まず (朗報です!) JavaScript を使用してやりたいことが実現可能であることは 100% 確信しています 注意: Chrome / Firefox はおそらくすべて問題ありませんが、Safari (6+) および IE (IE10+) の最新バージョンでのみ動作します)。ソースhttp://caniuse.com/filereader

第二に、パズルの最後のピースとなる PDF417 画像読み取りアルゴリズムを思い付いていないことは認めますが、私の貢献が問題の解決にかなり役立つことを願っています。

OK では、次に進みます: a) JavaScript (クライアント マシンで実行) に GUI を表示して、ユーザーがローカル ファイル システム (運転免許証の写真) からファイルを選択できるようにします。b) b)それを JavaScript アプリに取り込みます (すべてサーバーや Java を使用しません)。そして ... c) ...JavaScript で解析し、PDF417 バーコードの暗い/明るいパターンを解釈して、そこにエンコードされた「プレーンテキスト」の人間が読み取れるデータを推定します。JavaにはJavaアプレットがChromeで実行されることは決してないように思われるため、Javaはオプションではないことに言及しますが、Javaにはこのことに適切に分類された優れた画像データ処理パッケージがあります。

a) に必要な理解とコード

HTML フォームにより、プログラマは長年にわたってファイル アップロード フィールドを使用することができました。あなたは必要になるでしょう:

<input type="file" id="myFileInput">

b) に必要な理解とコード

また、JavaScript 側で (最も重要なこととして) HTML5 FileReader Api を使用する必要があります ( http://blog.teamtreehouse.com/reading-files-using-the-html5-filereader-apiを参照) .. .vis-a-vis:

var reader = new FileReader();
// ... and ...
reader.readAsDataURL(file);

でインスタンス化されたイメージのインスタンスのプロパティに readAsDataURL()挿入する際に役立つ、base64 でエンコードされたバイナリ データがどこで提供されますか。つまり、 を に設定すると 、少なくとも Web ページに運転免許証を表示できます。後で、この新しくインスタンス化された画像を取得し、キャンバスの 2D コンテキストを介して表示することについて、新しい画像を DOM に単に appendChild() する代わりに言及しますが、それについてはすぐに説明します。これまで説明してきたことはすべて、blog.teamtreehouse.com のコード ペン デモ ( http://codepen.io/matt-west/pen/CfilG ) のアクションで確認できます。また、より初心者向けのトークスルーについては、このビデオをご覧になることをお勧めします (srcvar ing = new Image();srcdata:image/gif;base64,*data*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 は( APIを介してデータが入力されnew Image()たら) からのデータを共食いし、それを Canvas 2d コンテキストで使用する必要があると思います。それが可能であることを証明しますが、アルゴリズムを記述してデータを解釈する方法を知るには、PDF417 を理解する必要があります。srcfileReader()

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

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

幸運を!

于 2014-11-05T01:34:39.803 に答える