2017-09-04 1 views
2

Je génère un code-barres IDAutomationHC39M mais après la génération et la numérisation, je ne reçois aucune valeur.Ne pas obtenir de valeur après avoir scanné le code-barres IDAutomationHC39M

Mon code est

public void generateBarcode(int id) 
    { 
     if (plBarCode != null) 
     { 
      string barCode = ""; 

      barCode = "*"+Convert.ToString(id)+"*"; 
      System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); 
      using (Bitmap bitMap = new Bitmap(barCode.Length * 70, 70)) 
      { 
       using (Graphics graphics = Graphics.FromImage(bitMap)) 
       { 
        Font oFont = new Font("IDAutomationHC39M", 30); 
        PointF point = new PointF(2f, 2f); 
        SolidBrush blackBrush = new SolidBrush(Color.Black); 
        SolidBrush whiteBrush = new SolidBrush(Color.White); 
        graphics.FillRectangle(whiteBrush, 0, 0, bitMap.Width, bitMap.Height);      
        int w = barCode.Length * 40;      
        Graphics oGraphics = Graphics.FromImage(bitMap);      
        PointF oPoint = new PointF(2f, 2f); 
        SolidBrush oBrushWrite = new SolidBrush(Color.Black); 
        SolidBrush oBrush = new SolidBrush(Color.White);   
        oGraphics.FillRectangle(oBrush, 0, 0, w, 100);      
        oGraphics.DrawString("*" + barCode + "*", oFont, oBrushWrite, oPoint); 

       } 
       using (MemoryStream ms = new MemoryStream()) 
       { 
        bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); 
        byte[] byteImage = ms.ToArray(); 

        Convert.ToBase64String(byteImage); 
        imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); 
       } 
       plBarCode.Controls.Add(imgBarCode); 
      } 
     } 

    } 

ce qui est mauvais sur ce code.

enter image description here

Comment dois-je générer mon code d'aide?

+0

Votre code actuel produirait un code à barres avec * deux * '*' de chaque côté. Supprimez l'extra '" * "' de l'appel de fonction 'oGraphics.DrawString()'. –

+0

Également après avoir enlevé *, il n'est pas non plus en train de générer –

+0

@ Cᴏʀʏu signifie barCode = "**" + Convert.ToString (id) + "**"; comme ça? –

Répondre

0

Voici le top 5 des raisons pour lesquelles un code-barres de la police ne scanne pas ...

http://idautomation.blogspot.in/2011/07/top-5-reasons-why-barcode-font-wont.html

Si vous essayez d'encoder une petite quantité de caractères, il est peut-être une bonne idée d'être Assurez-vous que votre scanner est capable de numériser le montant minimum, car plusieurs sont configurés pour lire un minimum de 4 caractères dans un code à barres. D'un autre côté, s'il y a trop de caractères encodés dans un code-barres, il sera trop grand et ne fonctionnera pas correctement. Réduire la taille de la police et re-scanner peut résoudre ce problème.