How to add an image and text to the same cell?
Now I want to insert the student code under the bar code label. How can I do this?
My code currently looks like this:
foreach (GridViewRow row in grdBarcode.Rows) { DataList dl = (DataList)row.FindControl("datalistBarcode"); PdfContentByte cb = new PdfContentByte(writer); PdfPTable BarCodeTable = new PdfPTable(6); BarCodeTable.SetTotalWidth(new float[] { 100,10,100,10,100,10 }); BarCodeTable.DefaultCell.Border = PdfPCell.NO_BORDER; Barcode128 code128 = new Barcode128(); code128.CodeType = Barcode.CODE128_UCC; foreach (DataListItem dli in dl.Items) { String barcodename= ((Label)dli.FindControl("lblBarCode")).Text; string studentcode= ((Label)dli.FindControl("lblStudCode")).Text; code128.Code = "*" + productID1 + "*"; iTextSharp.text.Image image128 = code128.CreateImageWithBarcode(cb, null, null); BarCodeTable.AddCell(image128); BarCodeTable.AddCell(""); } doc.Add(BarCodeTable);
I want to add the Student code under the bar code label. Please show me a way to achieve this, or let me know how to pass more than one parameter through the Addcell()
method.
Posted on StackOverflow on Jul 11, 2015 by Semil Sebastian
You are adding the Image
object directly to a PdfPCell
like this:
iTextSharp.text.Image image128 = code128.CreateImageWithBarcode(cb, null, null);
BarCodeTable.AddCell(image128);
The second line is a short cut for something that looks like this:
PdfPCell cell = new PdfPCell();
cell.SetImage(image128);
BarCodeTable.AddCell(cell);
This cell
contains nothing more than an image. There is no room for text.
If you want to combine an image and text, you need something like this:
PdfPCell cell = new PdfPCell();
cell.AddElement(image128);
Paragraph p = new Paragraph("Student name");
p.Alignment = Element.ALIGN_CENTER;
cell.AddElement(p);
BarCodeTable.AddCell(cell);