iText для.NET штрих-кода

Я пытаюсь создать PDF-файл со штрих-кодом EAN13, используя библиотеку iTextSharp. Я пытаюсь сгенерировать штрих-код со значением " 023942432852 ".

iTextSharp.text.Image imageEAN = codeEan.CreateImageWithBarcode(cb, null, null);

бросает System.IndexOutOfRangeException,

Есть код:

Document pdfdoc = new Document(pageSize, _margSx, _margDx, _margUp, _margBo);
            PdfWriter writer = PdfWriter.GetInstance(pdfdoc, new FileStream(_path + @"\Barcode.pdf", FileMode.Create));


            pdfdoc.Open();

            PdfContentByte cb = writer.DirectContent;

            pdfdoc.PageSize.BackgroundColor = BaseColor.GRAY;


            BarcodeEAN codeEan = new BarcodeEAN();
            if (CreaChecksum)
                codeEan.GenerateChecksum = true;
            codeEan.ChecksumText = true;
            codeEan.CodeType = Barcode.EAN13;
            codeEan.Code = barcode;

            iTextSharp.text.Image imageEAN = codeEan.CreateImageWithBarcode(cb, null, null);
            imageEAN.ScaleAbsolute(100, 40);
            imageEAN.SetAbsolutePosition(pdfdoc.PageSize.Right - 150f, pdfdoc.PageSize.Bottom + 30f);   
            pdfdoc.Add(imageEAN);

1 ответ

Решение

Как видно из названия, штрих-код EAN13 требует 13 цифр, точно так же, как штрих-код EAN8 требует 8 цифр. Вы пытаетесь создать штрих-код для этого string:

"023942432852"

Когда я считаю количество цифр в этом stringЯ только нахожу 12. Одна цифра отсутствует. Пожалуйста, заполните string так что его длина 13.

Другие вопросы по тегам