我正在使用此代码生成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型?我在CODE128_UCC
中尝试了CODE128_RAW
,CODE128
,setCodyType()
,但其中有三个看起来很相似。
答案 0 :(得分:4)
感谢pmoleri先前的回答,我成功地使用Itext(Itextsharp版本5.3.3.0)生成了一个barcode128 Type B.这是我写的c#代码,希望它可能会有所帮助:
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();
}
答案 1 :(得分:0)
Itext可能是条形码最紧凑的版本,这就是为什么你不能选择字符集的原因。例如,如果它以一个大的数字序列开始,它将选择字符集C,然后如果跟随一系列alpha字符,则更改为字符集B.
任何能够阅读Code 128
的条形码扫描仪必须能够读取任何字符集,因此我认为不需要坚持使用字符集B.
<强>更新强>
我认为除非你传递原始代码,否则你不能用iText做到这一点。幸运的是,字符集B非常简单,只需将字符串添加到:
104
然后使用:setCodeType(Barcode.CODE128_RAW)
您可以在此处获取其他信息:http://grandzebu.net/informatique/codbar-en/code128.htm