pmoleri による以前の回答のおかげで、バーコード 128 タイプ B を生成するために Itext (Itextsharp バージョン 5.3.3.0) を使用することに成功しました。これは私が書いた 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();
}