我试图用法语创建条形码图像,但是它抛出以下异常
条码128不允许使用无效字符,

注意:
为了创建条形码图像,我使用了itextsharp组件。

有人帮我解决这个问题吗?

码:

var content = "attribué"

var bc = new Barcode128
            {
                Code = content,
                StartStopText = false,
                CodeType = Barcode.CODE128,
                Extended = true,
                ChecksumText = false,
                GenerateChecksum = false,
            };

bc.CreateImageWithBarcode(cb, Color.BLACK, Color.BLACK);

最佳答案

Code128最初仅支持ASCII,并且要使用ISO / IEC 8859-1,您必须添加FNC4扩展代码:

FNC4 = '\u00c8'


例:

    var content = "attribué"

    var encodedFNC = new StringBuilder(Barcode128.FNC4);
    encodedFNC.Append(encodedFNC4);
    ~~~
    var bc = new Barcode128
        {
            Code = encodedFNC.ToString(),
            ~~~


注意:我假设iTextSharp支持它,因为已经定义了FNC4,否则iText7会...

10-04 19:46