software producto pdf417 para online lector imagen hacer generar como codigo barras c# sdk barcode

producto - Generación de un código de barras PDF417 a partir de una matriz Byte en c#



pdf417 php (2)

Bueno, podría convertir la matriz de bytes en una cadena ASCII y usarla para crear el código de barras. El consumidor de este código de barras deberá saber que la cadena está codificada como ASCII para volver a convertir. Por ejemplo:

/// <summary> /// Writes the barcode data to a specified location /// </summary> /// <param name="data">Data of the barcode</param> /// <param name="Location">Location to save barcode</param> public void Write(byte[] data, string Location) { ///* Keep Automation Barcode Creator KeepAutomation.Barcode.Crystal.BarCode KABarcode = new KeepAutomation.Barcode.Crystal.BarCode(); KABarcode.Symbology = KeepAutomation.Barcode.Symbology.PDF417; KABarcode.PDF417DataMode = KeepAutomation.Barcode.PDF417DataMode.Auto; KABarcode.CodeToEncode = System.Text.Encoding.ASCII.GetString(data); KABarcode.ImageFormat = System.Drawing.Imaging.ImageFormat.Png; KABarcode.generateBarcodeToImageFile(Location); //*/ ///* BarcodeLib Creator BarcodeLib.Barcode.PDF417 barcodeLibBar = new BarcodeLib.Barcode.PDF417(); barcodeLibBar.Data = System.Text.Encoding.ASCII.GetString(data); var BarLibImage = barcodeLibBar.drawBarcode(); BarLibImage.Save(Location); //*/ ///* PQScan.Barcode Creator PQScan.BarcodeCreator.Barcode PQScanBarcode = new PQScan.BarcodeCreator.Barcode(); PQScanBarcode.BarType = PQScan.BarcodeCreator.BarCodeType.PDF417; PQScanBarcode.Data = System.Text.Encoding.ASCII.GetString(data); PQScanBarcode.PictureFormat = System.Drawing.Imaging.ImageFormat.Png; var PQScanImage = PQScanBarcode.CreateBarcode(); PQScanImage.Save(Location); //*/ }

Necesito una forma de generar códigos de barras PDF417 a partir de matrices de bytes .

He encontrado numerosos SDK que pueden generar códigos de barras, pero todos ellos esperan una cadena como datos en lugar de una matriz de bytes. Desafortunadamente, esta no es una posibilidad ya que debo cumplir con un estándar preexistente.

Gracias por adelantado

Código que he intentado, según lo solicitado por Wyatt Earp.

/// <summary> /// Writes the barcode data to a specified location /// </summary> /// <param name="data">Data of the barcode</param> /// <param name="Location">Location to save barcode</param> public void Write(byte[] data, string Location) { ///* Keep Automation Barcode Creator KeepAutomation.Barcode.Crystal.BarCode KABarcode = new KeepAutomation.Barcode.Crystal.BarCode(); KABarcode.Symbology = KeepAutomation.Barcode.Symbology.PDF417; KABarcode.PDF417DataMode = KeepAutomation.Barcode.PDF417DataMode.Auto; KABarcode.CodeToEncode = data; KABarcode.ImageFormat = System.Drawing.Imaging.ImageFormat.Png; KABarcode.generateBarcodeToImageFile(Location); //*/ ///* BarcodeLib Creator BarcodeLib.Barcode.PDF417 barcodeLibBar = new BarcodeLib.Barcode.PDF417(); barcodeLibBar.Data = data; var BarLibImage = barcodeLibBar.drawBarcode(); BarLibImage.Save(Location); //*/ ///* PQScan.Barcode Creator PQScan.BarcodeCreator.Barcode PQScanBarcode = new PQScan.BarcodeCreator.Barcode(); PQScanBarcode.BarType = PQScan.BarcodeCreator.BarCodeType.PDF417; PQScanBarcode.Data = data; PQScanBarcode.PictureFormat = System.Drawing.Imaging.ImageFormat.Png; var PQScanImage = PQScanBarcode.CreateBarcode(); PQScanImage.Save(Location); //*/ }

Ninguno de estos compilará, ya que todos esperan cadenas como datos de códigos de barras, necesito darles un byte []

Lamentablemente, ya eliminé el código de los otros SDK, pero todos tienden a seguir el mismo patrón.

La lista completa de SDK que he probado es:

  • SharpPdf417
  • ZXing
  • PQScan.BarcodeCreator
  • TBarcode
  • KeepAutomation.Barcode
  • BarcodeLib

Todos estos SDK solo aceptan una cadena como datos de código de barras. Necesito la matriz de bytes que se lee como la matriz de bytes que se ingresa en este vacío.

No puedo darle la matriz de bytes exacta, pero tiene un tamaño de 454 y utiliza varios métodos de codificación diferentes en toda la matriz de bytes.


Gracias, pero ya que necesitaba mantenerlo en el formato que ya tenía en Wyatt Earps Answer no funcionó para mí, pero parece que funcionaría para otros.

Para mí, logré encontrar que Aspose.Barcode tenía una característica que me permitiría generar códigos de barras directamente desde la matriz de bytes en lugar de tener que convertirla.

A continuación se muestra el código que uso en caso de que sea de interés para cualquier persona

/// <summary> /// Writes the barcode data to a specified location /// </summary> /// <param name="data">Byte data of barcode</param> /// <param name="Location">Location to save barcode</param> public void Write(byte[] data, string location) { //Define the barcode builder with properties BarCodeBuilder builder = new BarCodeBuilder() { SymbologyType = Symbology.Pdf417, Rows = 30 }; //Set Data builder.SetBinaryCodeText(data); //Generate Barcode var barcodeBitmap = builder.GenerateBarCodeImage(); //Save it to disk barcodeBitmap.Save(location); }