¿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

Respuestas a la pregunta(1)

Su respuesta a la pregunta