2010-07-09 67 views
4

基本上,我想使用iTextSharp將一個字符串和一個條形碼組合成一個單元格。 從它下面的代碼是以下兩行: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); 

回答

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); 
+0

謝謝@ steel-parker – 2013-09-07 12:22:26

+0

添加圖像到短語時,出現了一個「{」Insertion of illegal Element:34「}錯誤。您無法將圖像添加到塊。 – 2013-11-15 08:58:16

相關問題