如何在条形码行之间添加空格-iTextSharp

问题描述

我正在内存中创建条形码并将其显示在Web上,这有两个问题: 1)条形码长度小(第二张图片),文本质量不高(第二张图片)。

我试图在条形码长度和文本质量都很好的第一张图像中显示结果。

有什么方法可以增加条形码的长度或宽度?并提高文字质量?

iTextSharp版本:5.5.13.1

enter image description here

这是代码

// create a blank image
System.Drawing.Bitmap bmpimg;

bmpimg = GenerateBarCodeImage65(barCode);
context.Response.Write("<img src='data:image/bmp;base64," + ImagetoBase64(bmpimg,ImageFormat.Bmp) + "'  />");
context.Response.Write("<script>window.print();</script>");

context.Response.End();
bmpimg.dispose();
barCodeImg.dispose();

private System.Drawing.Bitmap GenerateBarCodeImage65(string barcode)
{
  System.Drawing.Bitmap bmpimg = new Bitmap(236,88);
  Graphics graphics = graphics.FromImage(bmpimg);

    graphics.SmoothingMode = System.Drawing.drawing2d.SmoothingMode.HighQuality;
    graphics.PixelOffsetMode = System.Drawing.drawing2d.PixelOffsetMode.HighQuality;
    graphics.CompositingQuality = System.Drawing.drawing2d.CompositingQuality.HighQuality;
    graphics.InterpolationMode = System.Drawing.drawing2d.InterpolationMode.HighQualityBicubic;

    graphics.FillRectangle(Brushes.White,new Drawing.Rectangle(0,236,88));
    // generate the Code128 barcode
    graphics.DrawImage(CreateBarcode(barcode,65),5,5);
    // generate the text below the barcode image.
    graphics.DrawString(barcode,new Drawing.Font(FontFamily.GenericSansSerif,10),Brushes.Black,new Point(5,68));


  graphics.dispose();

  return bmpimg;
}



 private System.Drawing.Image CreateBarcode(string barcodeLen,Int32 height)
   {
    Barcode128 code128 = new Barcode128();
    code128.CodeType = iTextSharp.text.pdf.Barcode.CODE128;
    code128.ChecksumText = true;
    code128.GenerateChecksum = true;
    code128.BarHeight = height;
    code128.Code = barcodeLen;
    barCodeImg = code128.CreateDrawingImage(System.Drawing.Color.Black,System.Drawing.Color.White);
    return barCodeImg;
   }


 private string ImagetoBase64(Drawing.Image image,System.Drawing.Imaging.ImageFormat format)
{
    using (MemoryStream ms = new MemoryStream())
    {
        image.Save(ms,format);
        byte[] imageBytes = ms.ToArray();
        string base64String = Convert.ToBase64String(imageBytes);
        return base64String;
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)