基本上,我想使用iTextSharp将字符串和条形码组合成单个单元格。 从下面的代码可以看出以下两行:
table.AddCell(tempstring);
table.AddCell(new text.Phrase(new text.Chunk(image39, 0, 0)));
以下列出的完整代码
using text = iTextSharp.text;
using pdf = iTextSharp.text.pdf;
text.Document doc = new text.Document();
pdf.PdfWriter writer = pdf.PdfWriter.GetInstance(doc, new FileStream(pdfgen.sWorkPath + "\\OrderNumber" + txtSellerNumber.Text.ToString() + ".pdf", FileMode.Create));
doc.Open();
pdf.PdfContentByte cb = writer.DirectContent;
pdf.Barcode39 code39 = new pdf.Barcode39();
code39.Code = txtSellerNumber.Text.ToString();
code39.StartStopText = false;
text.Image image39 = code39.CreateImageWithBarcode(cb, null, null);
iTextSharp.text.Table table = new iTextSharp.text.Table(3);
table.BorderWidth = 2;
table.BorderColor = new text.Color(0, 0, 255);
table.Padding = 3;
table.Spacing = 1;
text.Cell cell = new text.Cell("CHS");
cell.Header = true;
cell.Colspan = 3;
StringBuilder sb = new StringBuilder();
sb.Append("NAME" + Environment.NewLine);
sb.Append("Seller #" + txtSellerNumber.Text.ToString() + Environment.NewLine);
sb.Append("Size #" + txtSize1.Text.ToString() + Environment.NewLine);
sb.Append("Price #" + txtPrice1.Text.ToString() + Environment.NewLine);
sb.Append("Description : " + txtDescription1.Text.ToString() + Environment.NewLine);
string tempstring = sb.ToString();
//Wanting to combine the following two cells into 1
table.AddCell(tempstring);
table.AddCell(new text.Phrase(new text.Chunk(image39, 0, 0)));
//End
doc.Add(table);
doc.Close();
HttpContext.Current.Response.Redirect("~/OrderNumber" + txtSellerNumber.Text.ToString() + ".pdf", false);
答案 0 :(得分:6)
实际上相当简单......
PdfPCell cell = new PdfPCell( table.DefaultCell /* optional */ );
cell.AddElement( tempString );
cell.AddElement(new text.Phrase(new text.Chunk(image39, 0, 0)));
table.AddCell(cell);
尝试一些变化......你可能需要进行一些尝试,比如这个
PdfPCell cell = new PdfPCell( table.DefaultCell /* optional */ );
Phrase phrase = new Phrase();
phrase.Add(new Chunk(tempString));
phrase.Add(new Chunk(image39, 0, 0)));
cell.AddElement( phrase );
table.AddCell(cell);