¿Cómo agregar una tabla como encabezado?
Estoy trabajando coniTextSharp tratando de agregar un encabezado y un pie de página a mi PDF generado pero, si trato de agregar un encabezado que tenga un ancho del 100% de mi página, tengo algún problema.
Entonces hice las siguientes cosas:
1) He creado una clase llamadaPdfHeaderFooter que extiende el iTextSharpPdfPageEventHelper clase
2) enPdfHeaderFooter He implementado elOnStartPage () Método que genera el encabezado:
// write on start of each page
public override void OnStartPage(PdfWriter writer, Document document)
{
base.OnStartPage(writer, document);
PdfPTable tabHead = new PdfPTable(new float[] { 1F });
PdfPCell cell;
//tabHead.TotalWidth = 300F;
tabHead.WidthPercentage = 100;
cell = new PdfPCell(new Phrase("Header"));
tabHead.AddCell(cell);
tabHead.WriteSelectedRows(0, -1, 150, document.Top, writer.DirectContent);
}
Si uso algo comotabHead.TotalWidth = 300F; instedtabHead.WidthPercentage = 100; funciona bien, pero si intento establecer como 100% el ancho de la tabla tabHead (como lo hago en el ejemplo anterior) cuando llama altabHead.WriteSelectedRows (0, -1, 150, document.Top, writer.DirectContent) método arroja la siguiente excepción:
El ancho de la tabla debe ser mayor que cero.
¿Por qué? ¿Cuál es el problema? ¿Cómo es posible que la tabla tenga un tamaño 0 si la configuro al 100%?
Alguien me puede ayudar a resolver este problema?
TNX