2014-06-11 1 views
0

J'ai un site Web asp.net, et je veux imprimer quelques codes à barres en C#. i utiliser la police « IDAutomationHC39M » comme ci-dessous:comment imprimer le code-barres dans asp.net?

public static void PrintSmallBarcode(HtmlGenericControl divBarCode, string barCode) 
    { 
     System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); 
     using (Bitmap bitMap = new Bitmap(75, 18)) 
     { 
      using (Graphics graphics = Graphics.FromImage(bitMap)) 
      { 
       Font oFont = new Font("IDAutomationHC39M", 7); 
       PointF point = new PointF(0, 0); 
       SolidBrush blackBrush = new SolidBrush(Color.Black); 
       SolidBrush whiteBrush = new SolidBrush(Color.White); 
       graphics.FillRectangle(whiteBrush, 0, 0, bitMap.Width, bitMap.Height); 
       graphics.DrawString(barCode, oFont, blackBrush, point); 
      } 
      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); 
       imgBarCode.CssClass = "cssbarcode"; 
      } 
     } 
     div.Controls.Add(imgBarCode); 
} 

cela fonctionne, mais la qualité du code à barres est faible truie, et mon appareil de lecteur de code à barres n'a pas réussi à le lire. Je ne peux pas augmenter la taille de l'image, et bien sûr je vois beaucoup de bons codes à barres plus petits que ma taille. Je remplace la police "IDAutomationHC39M" par "free3of9.ttf", mais cette police dessine simplement le nombre et pas de ligne de code à barres !. comment puis-je obtenir un meilleur code à barres?

Répondre

0

Ceci est un problème de longue date avec les polices de codes à barres; ils sont énormes et scannent horriblement parce que les imprimantes essayent d'anti-alias les barres. Utilisez des images et non des polices pour dessiner des codes à barres.

Il existe de nombreux packages disponibles, par exemple Barcode Rendering Framework.

0

Vous pouvez utiliser d'autres données pour modifier la taille du code à barres.J'ai utilisé keepautomation barcode generator for asp.net pour créer des images de codes à barres dans le projet Visual C# ASP.NET.Après mes paramètres, je peux prévisualiser la taille du code à barres.

+0

Bien que ce lien puisse répondre à la question, il est préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. –