pdf417 Javascript Lesen / Dekodieren
Habe ich damit beauftragt worden, mit dem hinzufügen in pdf417 (Führerschein) Dekodieren /Lesen für eine web-basierte Anwendung.
Input: Bild von Führerscheinen. (400-600 dpi)
Verarbeitung: Erkennen/Analysieren der pdf417-Daten.
Ausgabe: Parse pdf417-Daten.
Einschränkungen: es ist eine web-basierte app läuft über: IE, Chrome, Safari. Ich kann nichts installieren auf dem lokalen Rechner.
Also ich habe erforscht für ein paar Tage jetzt, und ich habe nicht herausgefunden, eine gute Möglichkeit, diese Arbeit zu machen. Idealerweise wird die gesamte Dekodierung stattfinden würde auf dem Kunden-Computer mithilfe von Javascript/Jquery. Allerdings habe ich keine Skripte /Bibliotheken, die das können. Die nur andere Optionen, die ich gefunden habe, war vielleicht ein java-servlet oder eine php-extension; beide sind nicht ideal, weil die upload-Zeit ist zu gehen, um mich drängen, mich über meine Zeit disponieren.
Kennt jemand eine javascript-oder JQuery-Bibliothek, kann damit umgehen?
Oder vielleicht eine bessere Möglichkeit integrieren Sie diese Funktionalität, dass ich nicht sehen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mein Beitrag ist zweigeteilt. Erstens (Gute Nachricht!) Ich bin 100% sicher, dass Sie wollen, zu tun, mit JavaScript ist erreichbar, NACHTEIL: Chrome /Firefox wird wohl alles ok aber es funktioniert nur in modernen Versionen von Safari (6+) und IE (IE10+). Quelle http://caniuse.com/filereader
Zweitens hoffe ich, dass mein Beitrag bekommt Sie ziemlich weit Fortgeschritten in der Lösung des Problems, obwohl ich zugeben, ich habe nicht kommen mit der PDF417 Bild Lesen-Algorithmus-das wäre das Letzte puzzleteil.
OK, Hier wir gehen:
a) JavaScript (läuft auf dem client-Rechner) vorhanden ist eine GUI für den Benutzer, um Ihnen zu ermöglichen, wählen Sie eine Datei aus Ihrem lokalen Dateisystem (ein Bild von Ihrem Führerschein) und dann...
b) Bringen Sie in das JavaScript-app (Alle ohne über einen server oder Java); und ...
c) ...haben JavaScript analysieren und zu interpretieren, die dunkel /Licht, Muster der PDF417-barcode zu extrapolieren, die 'Klartext' human-readable data encoded therein. Ich erwähne Java keine option Java-applets, so scheint es, wird nie gestattet werden, laufen in Chrome, obwohl Java hat ein schönes Bild-Daten-handling-Paket, das gut sortiert zu dieser Sache.
Verständnis und code, der benötigt wird für a)
HTML-Formularen erlaubt haben, die Programmierer, um einen Datei-upload-Feld für viele Jahre. Sie brauchen:
Verständnis und den erforderlichen code für b)
Auch auf der JavaScript-Seite der Dinge, die Sie brauchen (vor allem) die Verwendung des HTML5-FileReader-Api (siehe http://blog.teamtreehouse.com/reading-files-using-the-html5-filereader-api) ...vis-a-vis:
Wo
readAsDataURL()
geben Sie die base64-Kodierung von binären Daten, die für Sie arbeiten wird, wenn es um die Nuten in dersrc
- Eigenschaft einer Instanz eines Bildes instanziiert mitvar ing = new Image();
. D. H. diesrc
zudata:image/gif;base64,*data*
Mit, dass getan, kann man zumindest die Anzeige des Führerscheins in Ihre Webseite ein. Später habe ich die Erwähnung der Einnahme dieses neu instanziiert Bild und die Anzeige über Canvas-2D-Kontext als alternative zu nur appendChild()'ing, das neue Bild in den DOM, aber wir kommen in einer minute. Ich habe bisher besprochen werden können, finden Sie in einer Aktion auf blog.teamtreehouse.com's code-pen demo (http://codepen.io/matt-west/pen/CfilG). Auch für eine Anfänger-freundliche talk-throughFileReader()
möchten Sie vielleicht sehen Sie sich dieses video (http://www.sitepoint.com/reading-images-data-using-canvas-javascript/) aber seien Sie geduldig, wie die Sachen, die Sie wollen über den Bild-upload und-Anzeige wird nur erwähnt 5mins30secs in.Verständnis und den erforderlichen code für c)
Diese, wo ich hängen geblieben, da ich nicht zu verwalten, um genau das zu finden, was Sie suchen, doch ich fand dies in der UPC-format barcodes: http://badassjs.com/post/654334959/barcode-scanning-in-javascript (demo = http://tobeytailor.s3.amazonaws.com/get_barcode_from_image/index.html). Ich bin nicht sicher, aber ich denke, dass dies zu erreichen Tobey hat zum Ausschlachten die Daten aus der
new Image()
(einmal seinesrc
wurde gefüllt mit Daten über diefileReader()
API) und verwenden Sie es auf einem Canvas-2d-Kontext. Es beweist, dass es getan werden kann, aber beim schreiben des Algorithmus, um zu wissen, wie die Daten zu interpretieren, Sie würde haben, um zu verstehen, PDF417: ich fand diese links als nützlich Startplätzehttp://en.wikipedia.org/wiki/PDF417
http://omniplanar.com/PDF417-2D-Barcode.php
Glück!
Wir haben einen Prototypen genau das tun, was Sie tun wollen, als Teil dieses wir erschaffen haben - https://github.com/PeculiarVentures/js-zxing-pdf417 die Griffe der PDF417-Analyse.
Diese Lösung ist zu 100% der client-Seite.
Fanden wir Probleme mit der Kamera-Auflösung und das fehlen des Autofokus, aber wenn Sie liest den code aus einer Datei, haben Sie kein problem.
Ich bin auch zuversichtlich, dass mit einigen pre-processing auf der webcam aufgenommenen Bilder (frame averaging, schärfen-Filter, etc) kann man sogar die web-Kamera-Fall zuverlässig funktioniert.
Emscripten https://github.com/kripken/emscripten bietet eine fertige root zu kompilieren C++ zu JavaScript. Es ist eine demo, cross-kompiliert PDF417 reader auf https://www.newtonapples.net/PDF417_demo/USBcam_demo.html das Lesen von PDF417-barcodes im javascript im browser (Chrome oder Firefox), die hat eine anständige USB-webcam angeschlossen. Der code ist jedoch kommerziell nicht open-source.