2016-03-29 24 views
3

バーコードをasp.netページに表示しようとしています。すでにサンプルコードでzen barcodeをダウンロードしてください。私はそれが私と一緒にうまく動作しているサンプルを試してみました。一度私のコードで試してみると、バーコードのラベルは空になっています。私はサンプルコードで確認し、私は何の違いも見つけられませんでした。データ転送だけが違います。これは私が試みたものです。ASP.NET Webフォームでバーコードをレンダリングする

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

これは

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

シンボルをドロップダウンからCode39NCとして設定されている機能です。スケールが1で、テキストが他のフォームから来ていて、値が渡されています。それでもなお、バーコード画像はバーコード画像ではなく値だけを表示しています。

+0

私はそのライブラリに精通していませんよ。 zxing(Zebra Crossing)を試してみてください。それは同様に動作する可能性がありますが、適切な文書 –

+0

Webフォームで動作しますか? – NAJEEB

+0

はい。いくつかの異なるバーコードタイプの1つにコンテンツを出力します。私は生データ(バイト[])をビットマップとして保存し、それをリソースとして提供します –

答えて

1

ZXingを使用して2つのコードサンプルを作成し、(QR)バーコードを画像とbase64でエンコードされた文字列として作成します。これらのオプションは両方とも<img />タグとともに使用して、バーコードをページに埋め込むことができます。

これはASP.NETコントロールではありません。テキストからバーコードを作成するライブラリです。

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

ハッピーコーディング。

UPDATE:ここでは、CodePlexの上の彼らの製品ページへのリンクは次のとおりです。https://zxingnet.codeplex.com/

+0

私のコードは今働いていると思います。私はそれに取り組ませてください。もし失敗すれば私はあなたの提案を試み、私は2dのバーコードを探しています。確かにあなたの提案は私にとっても有益です。グレンに感謝します。私はあなたに結果を知らせるように努めます。 – NAJEEB

関連する問題