Lector y escritor de código de barras 2D para Windows y Android

Trabajo mucho con códigos de barras 2D en mis trabajos de pluriempleo, y escaneo códigos de barras en mi teléfono con mi computadora y viceversa varias veces al día. Hay muchos escáneres y generadores de códigos QR, pero muchos solo funcionan con QR con codificación estándar y sin corrección de errores. En Windows, tengo un escritor que puede generar casi cualquier cosa excepto Maxicode y proporciona una gran cantidad de opciones de configuración para sus estándares de código, así como un lector y escritor de QR que solo admite la codificación estándar. Para Android, tengo un lector/grabador que lee todas las codificaciones de QR, Aztec, DataMatrix, PDF417 y una gran cantidad de códigos 1D, incluido Code39, pero no puede escribir GS1 QR o HIBC Datamatrix. También he encontrado algunas páginas web que pueden escanear estos, pero por seguridad no los usaré en línea y no sé cómo hacer que funcionen sin conexión.

Por lo tanto, mi lectura y escritura para ambos es fragmentaria en el mejor de los casos, y me gustaría crear una UX lo más consistente posible en todos los dispositivos mientras mantengo la capacidad de leer y escribir en los siguientes formatos en ambas máquinas:

  • Matriz de datos compatible con HIBC

  • QR compatible con GS1 con EC

  • azteca

  • PDF417

  • código39

    Óptimamente, debe incluir:

  • maxicódigo

  • EAN/ISBN/UPC

  • codablock

  • código uno

Si tengo que usar varias aplicaciones, está bien, siempre que se cumplan las funciones mínimas anteriores.

Respuestas (1)

Entiendo que está tratando de crear una única experiencia de usuario que permita varias simbologías de códigos de barras diferentes. Recomendaría echar un vistazo a LEADTOOLS SDK, que es una biblioteca paga que brinda soporte para leer y escribir las simbologías de códigos de barras 1D y 2D que mencionó anteriormente. Como descargo de responsabilidad, trabajo para este proveedor; sin embargo, recomendaría echar un vistazo a todas las simbologías de códigos de barras compatibles y los diferentes lenguajes de programación compatibles con la funcionalidad en el siguiente enlace. https://www.leadtools.com/sdk/barcode

Aquí hay un pequeño fragmento de código .NET C# para leer códigos de barras y generar una salida de su simbología, ubicación y valor.

  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(); 
  } 

Para escribir un código de barras, aquí hay un fragmento de código también en .NET C# para crear un código de barras UPC A.

// 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);