2016-03-29 13 views
3

Ich versuche, den Barcode in asp.net-Seite zu zeigen. Laden Sie den zen Barcode-Renderer bereits mit Beispielcode herunter. Ich habe die Probe versucht, es funktioniert gut mit mir. Sobald ich versuche, in meinem Code Barcode-Label zeigt leer. Ich habe mit Beispielcode und mir überprüft, dass ich keinen Unterschied gefunden habe, nur die Datenübertragung ist anders. das habe ich ausprobiert.Rendern Sie einen Barcode in ASP.NET-Webformular

<barcode:BarcodeLabel ID="BarcodeLabel1" runat="server" BarcodeEncoding="Code39NC" LabelVerticalAlign="Bottom" Text="12345"></barcode:BarcodeLabel> 

if (!IsPostBack) 
      { 
List<string> symbologyDataSource = new List<string>(
       Enum.GetNames(typeof(BarcodeSymbology))); 
       symbologyDataSource.Remove("Unknown"); 
       barcodeSymbology.DataSource = symbologyDataSource; 
       barcodeSymbology.DataBind(); 
} 

Dies ist die Funktion

BarcodeSymbology symbology = BarcodeSymbology.Unknown; 

     if (barcodeSymbology.SelectedIndex != 0) 
     { 
      symbology = (BarcodeSymbology)1; 
     } 
     symbology = (BarcodeSymbology)1; 
     string text = hidID.Value.ToString(); 

     string scaleText = "1"; 
     int scale; 
     if (!int.TryParse(scaleText, out scale)) 
     { 
      if (symbology == BarcodeSymbology.CodeQr) 
      { 
       scale = 3; 
      } 
      else 
      { 
       scale = 1; 
      } 
     } 
     else if (scale < 1) 
     { 
      scale = 1; 
     } 

     if (!string.IsNullOrEmpty(text) && symbology != BarcodeSymbology.Unknown) 
     { 
      barcodeRender.BarcodeEncoding = symbology; 
      barcodeRender.Scale = 1; 
      barcodeRender.Text = text; 
     } 

Symbologie als Code39NC aus der Drop-Down-gesetzt ist. Skalierung ist 1 und Text kommt von einer anderen Form, der Wert wird ebenfalls übergeben. immer noch zeigt das bacodelable nur den wert, nicht das barcodebild.

+0

i mit dieser Bibliothek nicht vertraut bin. versuche zxing (Zebrastreifen). es funktioniert wahrscheinlich ähnlich, aber es gibt anständige Dokumentation –

+0

Arbeit mit Webformular? – NAJEEB

+0

Ja. Es wird Ihre Inhalte in einen von ein paar verschiedenen Barcode-Typen ausgeben. Ich nehme die Rohdaten (Byte []) und speichern Sie es als Bitmap und dann dienen es als Ressource –

Antwort

1

Hier sind zwei Codebeispiele, die ZXing verwenden, um einen QR-Barcode sowohl als Bild als auch als Base64-codierte Zeichenfolge zu erstellen. Beide Optionen können mit einem <img />-Tag verwendet werden, um den Barcode in die Seite einzubetten.

Dies ist kein ASP.NET-Steuerelement. Es ist eine Bibliothek, die Barcodes aus Text erstellt.

// First Text to QR Code as an image 
public byte[] ToQRAsGif(string content) 
{ 
    var barcodeWriter = new BarcodeWriter 
    { 
     Format = BarcodeFormat.QR_CODE, 
     Options = new EncodingOptions 
     { 
      Height = this._h, 
      Width = this._w, 
      Margin = 2 
     } 
    }; 

    using (var bitmap = barcodeWriter.Write(content)) 
    using (var stream = new MemoryStream()) 
    { 
     bitmap.Save(stream, ImageFormat.Gif); 
     stream.Position = 0; 
     return stream.GetBuffer(); 
    } 
} 

// From Text to QR Code as base64 string 
public string ToQRAsBase64String(string content) 
{  
    var barcodeWriter = new BarcodeWriter 
    { 
     Format = BarcodeFormat.QR_CODE, 
     Options = new EncodingOptions 
     { 
      Height = _h, 
      Width = _w, 
      Margin = 2 
     } 
    }; 

    using (var bitmap = barcodeWriter.Write(content)) 
    using (var stream = new MemoryStream()) 
    { 
     bitmap.Save(stream, ImageFormat.Gif); 
     return String.Format("data:image/gif;base64,{0}", Convert.ToBase64String(stream.ToArray())); 
    } 
} 

Hoffe, das hilft! Glückliche Kodierung.

UPDATE: Hier ist der Link zu ihrer Produktseite auf Codeplex: https://zxingnet.codeplex.com/

+0

ich denke, mein Code hat jetzt funktioniert. Lass mich daran arbeiten. Wenn es scheitert, werde ich Ihren Vorschlag versuchen, und ich suche nach 2D-Barcode. sicherlich ist dein Vorschlag auch für mich nützlich. Danke Glenn. Ich werde versuchen und Sie das Ergebnis wissen lassen. – NAJEEB

Verwandte Themen