在Java中将条形码128设置为B类型 [英] set barcode 128 to type B in java

查看:253
本文介绍了在Java中将条形码128设置为B类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用此代码生成条形码128:

I am using this code to generate barcode128 :

String stb1 = "123456789";
code128.setCode(stb1);
//code128.setCodeType(Barcode128.CODE128_UCC);
//code128.setCode("1234567890");
code128.setStartStopText(true);
Image image128 = code128.createImageWithBarcode(cbd, null, Color.white);
image128.setAbsolutePosition(20 + x, 626 + y);
image128.scaleAbsolute(109, 33);
document.add(image128);

我的客户想要条形码128类型B.如何将其设置为类型B?我在setCodyType()中尝试了CODE128_UCCCODE128_RAWCODE128,但是其中三个看起来相似.

My client want the barcode 128 type B. How to set it to type B? I tried CODE128_UCC, CODE128_RAW, CODE128 in setCodyType() but three of them looks similar.

推荐答案

由于pmoleri的先前回答,我成功地使用Itext(Itextsharp版本5.3.3.0)生成了条形码128类型B.这是C#代码写道,希望对您有所帮助:

thanks to the previous answer by pmoleri, I succeded in using Itext (Itextsharp version 5.3.3.0) for generating a barcode128 Type B. This is the c# code I wrote, hope it might help:

String stb1 = "123456789";
Barcode128 code128 = new Barcode128();
code128.CodeType = Barcode.CODE128_RAW;
code128.ChecksumText = true;
code128.GenerateChecksum = true;
code128.StartStopText = true;
code128.Code = (StringEncode128(stb1) + "\uffff");
System.Drawing.Bitmap bm = new System.Drawing.Bitmap(code128.CreateDrawingImage(System.Drawing.Color.Black, System.Drawing.Color.White));
bm.Save(Server.MapPath("barcode128.gif"), System.Drawing.Imaging.ImageFormat.Gif);
ImageBarCode128 = Image.GetInstance(Server.MapPath("barcode.gif"));

字符串编码功能:

public String StringEncode128(String text) {
const int Ascii_FNC1 = 102;
const int Ascii_STARTB = 104;

int CharAscii = 0;
for (int CharPos = 0; CharPos < text.Length; ++CharPos)
{
  string letter = text.Substring(CharPos, 1);
  CharAscii = (int)Convert.ToChar(letter);
  if (CharAscii > 127 && CharAscii != Ascii_FNC1) {
    throw new Exception(text + "|" + CharAscii);
    }
}

StringBuilder outstring = new StringBuilder();
outstring.Append((char)(Ascii_STARTB));

for (int CharPos = 0; CharPos < text.Length; ++CharPos)
{
    string letter = text.Substring(CharPos, 1);
    CharAscii = (int)Convert.ToChar(letter) - 32;
    outstring.Append((char)(CharAscii));
}

return outstring.ToString();
}

这篇关于在Java中将条形码128设置为B类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆