2D-Barcode-Leser und -Schreiber für Windows und Android

Bei meinen Nebenjobs arbeite ich viel mit 2D-Barcodes und scanne mehrmals täglich Barcodes auf meinem Handy mit meinem Computer und umgekehrt. Es gibt viele QR-Code-Scanner und -Generatoren, aber viele funktionieren nur mit QR mit Standardcodierung und ohne Fehlerkorrektur. Unter Windows habe ich einen Writer, der fast alles außer Maxicode generieren kann und eine Fülle von Konfigurationsoptionen für seine Codestandards bietet, sowie einen Reader und Writer für QR, der nur Standardcodierung unterstützt. Für Android habe ich einen Reader/Writer, der jede Codierung für QR, Aztec, DataMatrix, PDF417 und eine Fülle von 1D-Codes einschließlich Code39 liest, aber keine GS1 QR oder HIBC Datamatrix schreiben kann. Ich habe auch einige Webseiten gefunden, die diese scannen können, aber aus Sicherheitsgründen werden sie nicht online verwendet und ich weiß nicht, wie ich sie dazu bringen kann, offline zu arbeiten.

Mein Lesen und Schreiben für beide ist also bestenfalls stückweise, und ich möchte eine möglichst konsistente UX auf allen Geräten erstellen und gleichzeitig die Fähigkeit beibehalten, auf beiden Computern in den folgenden Formaten zu lesen und zu schreiben:

  • HIBC-konformer Datamatrix

  • GS1-konformer QR mit EC

  • aztekisch

  • PDF417

  • Code39

    Optimalerweise sollte es beinhalten:

  • MaxiCode

  • EAN/ISBN/UPC

  • Codablock

  • Code Eins

Wenn ich mehrere Anwendungen verwenden muss, ist das in Ordnung, solange die oben genannten Mindestfunktionen erfüllt sind.

Antworten (1)

Ich verstehe, dass Sie versuchen, eine einzelne UX zu erstellen, die mehrere verschiedene Barcode-Symbiologien ermöglichen würde. Ich würde empfehlen, einen Blick auf das LEADTOOLS SDK zu werfen, eine kostenpflichtige Bibliothek, die sowohl das Lesen als auch das Schreiben der oben erwähnten 1D- und 2D-Barcode-Symbologien unterstützt. Als Haftungsausschluss arbeite ich für diesen Anbieter, aber ich würde empfehlen, einen Blick auf alle unterstützten Barcode-Symbologien und die verschiedenen Programmiersprachen zu werfen, die für die Funktionalität im folgenden Link unterstützt werden. https://www.leadtools.com/sdk/barcode

Hier ist ein kleines .NET C#-Code-Snippet zum Lesen von Barcodes und zum Generieren einer Ausgabe seiner Symbologie, Position und seines Werts.

  BarcodeData[] dataArray = barcodeEngineInstance.Reader.ReadBarcodes(theImage, LeadRect.Empty, 0, null); 
             
  StringBuilder sb = new StringBuilder(); 
  sb.AppendFormat("{0} barcode(s) found", dataArray.Length); 
  sb.AppendLine(); 
             
  for(int i = 0; i < dataArray.Length; i++) 
  { 
     BarcodeData data = dataArray[i]; 
             
     sb.AppendFormat("Symbology: {0}, Location: {1}, Data: {2}", data.Symbology.ToString(), data.Bounds.ToString(), data.Value); 
     sb.AppendLine(); 
  } 

Zum Schreiben eines Barcodes hier ein Code-Snippet auch in .NET C# zum Erstellen eines UPC A-Barcodes.

// Create a UPC A barcode 
   BarcodeData data = new BarcodeData(); 
   data.Symbology = BarcodeSymbology.UPCA; 
   data.Value = "01234567890"; 
   data.Bounds = new LeadRect(10, 10, 600, 200); 
                 
   // Setup the options to enable error checking and show the text on the bottom of the barcode 
   OneDBarcodeWriteOptions options = new OneDBarcodeWriteOptions(); 
   options.EnableErrorCheck = true; 
   options.TextPosition = BarcodeOutputTextPosition.Default; 

      // Write the barcode 
      barcodeEngineInstance.Writer.WriteBarcode(theImage, data, options);