asp.net - agregar - itextsharp table
Cómo agregar una imagen a una celda de tabla en iTextSharp usando webmatrix (1)
He hecho una tabla con células e interesado en tener una imagen en una de las celdas. A continuación está mi código:
doc.Open();
PdfPTable table = new PdfPTable(2);
table.TotalWidth = 570f;
table.LockedWidth = true;
table.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
PdfPCell points = new PdfPCell(new Phrase("and is therefore entitled to 2 points", arialCertify));
points.Colspan = 2;
points.Border = 0;
points.PaddingTop = 40f;
points.HorizontalAlignment = 1;//0=Left, 1=Centre, 2=Right
table.AddCell(points);
// add a image
doc.Add(table);
Image jpg = Image.GetInstance(imagepath + "/logo.jpg");
doc.Add(jpg);
Con el código anterior, la imagen se muestra en mi pdf pero quiero que esté dentro de una celda para poder agregar más celdas a la derecha de la imagen.
En el nivel básico, simplemente puede agregar la imagen a un PdfPCell y agregar esta celda a su tabla.
Entonces usando tu código ...
PdfPCell points = new PdfPCell(new Phrase("and is therefore entitled to 2 points", arialCertify));
points.Colspan = 2;
points.Border = 0;
points.PaddingTop = 40f;
points.HorizontalAlignment = 1;//0=Left, 1=Centre, 2=Right
// add a image
iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(imagepath + "/logo.jpg");
PdfPCell imageCell = new PdfPCell(jpg);
imageCell.Colspan = 2; // either 1 if you need to insert one cell
imageCell.Border = 0;
imageCell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.AddCell(points);
// add a image
table.AddCell(imageCell);
doc.Add(table);
Actualizar
Verifica tu imagepath
. Esta debería ser una ruta absoluta a la imagen, y no relativa como en una página web. Además, cambie su `/logo.jpg ''a'' / logo.jpg ''
esto supone que imagepath
es en realidad el directorio, y no la imagen real ...
ES DECIR
Server.MapPath(imagepath) + "//logo.jpg"