我尝试使用iTextSharp库创建带有EAN13条形码的PDF。我尝试生成值为"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);
顾
名思义,EAN13 条形码需要 13 位数字,就像 EAN8 条形码需要 8 位数字一样。您正在尝试为此string
创建条形码:
"023942432852"
当我计算这个string
中的位数时,我只找到 12。缺少一位数字。请填写string
,使其长度为 13。