none
Itextsharp, encabezado y pie de pagina RRS feed

  • Pregunta

  • Buenas tardes

    Estoy generando un pdf y necesito agregarle una seccion de encabezado y otra de pie de pagina

    mi version es de itextsharp es la 5.5, este es el codigo que hice, pero al abrir el pdf no coloca el encabezado ni el pie de pagina

    LLevo todo el dia mirando y no se que esta fallando les agradezco cualquier colaboración, este es el codigo:

                                                       

    private void GenerarPDF() {

          Document document = new Document(iTextSharp.text.PageSize.LETTER, 30f, 20f, 50f, 40f);

           PdfWriter.GetInstance(document
                        , new System.IO.FileStream(
                            System.IO.Directory.GetCurrentDirectory()
                            + "\\EjemploImagen" + Guid.NewGuid() + ".pdf",
                            System.IO.FileMode.Create));

           MemoryStream ms = new MemoryStream();
           PdfWriter pw = PdfWriter.GetInstance(document, ms);
           pw.PageEvent = new HeaderFooter();

          document.Open();

          document.NewPage();
          document.Add(new Paragraph("Texto de la pagina 1"));

          document.NewPage();
          document.Add(new Paragraph("Texto de la pagina 2"));

           //pw.Close();
           document.Close();       

      }

    class HeaderFooter : PdfPageEventHelper
            {
                public override void OnEndPage(PdfWriter writer, Document document)
                {
                    PdfPTable tbHeader = new PdfPTable(3);
                    tbHeader.DefaultCell.Border = 0;
                    tbHeader.AddCell(new Paragraph());
                    PdfPCell celda= new PdfPCell(new Paragraph("encabezado de pagina"));
                    tbHeader.AddCell(celda);
                    tbHeader.AddCell(new Paragraph());
                    tbHeader.TotalWidth = 700;
                        
                    tbHeader.WriteSelectedRows(0, -1, 50, 50,writer.DirectContent); 

                    PdfPTable tbFooter = new PdfPTable(3);
                    tbFooter.DefaultCell.Border = 0;
                    tbFooter.AddCell(new Paragraph());
                    celda = new PdfPCell(new Paragraph("pie de pagina"));
                    tbFooter.AddCell(celda);
                    celda = new PdfPCell(new Paragraph("pagina " + writer.PageNumber));
                    tbFooter.AddCell(celda);
                    tbFooter.TotalWidth =700; 
                    tbFooter.WriteSelectedRows(0, -1, 50, 50, writer.DirectContent);

                }

    Adjunto imagen  del pdf y sale bien el texto pero no salen el encabezado y el pie de pagina:



    • Editado David Tzur lunes, 1 de febrero de 2021 22:58
    lunes, 1 de febrero de 2021 22:56

Respuestas

  • Hola Eric

    Gracias por tu ayuda,

    pues nada, el ejemplo foro no funcionó, me toco implementar a pedal la funcionalidad de encabezado y pie de pagina controlando el número de lineas


    • Marcado como respuesta EricRRModerator miércoles, 3 de febrero de 2021 17:17
    miércoles, 3 de febrero de 2021 15:28

Todas las respuestas

  • La ejecucion llega hasta el evento HeaderFooter pero pareciera que pierde la referencia al documento

    no saca error y corre pero al abrirlo no puso nada.  ensaye con paarrafos e insertando imagenes pero nada

    como si estuviera parado en otro documento alguien puede darme una pista por favor ya llevo enredado con este tema.  otra cosa es que tuve que comentariar el close del wirter porque saca

    error diciendo que esta cerrado
    • Editado David Tzur martes, 2 de febrero de 2021 14:04
    martes, 2 de febrero de 2021 14:03
  • Hola David,

    He encontrado este Foro donde hay una respuesta muy detallada. De igual manera trataré de montar un laboratorio igual al tuyo a ver si tengo el mismo error.

    Saludos,

    Eric Ruiz

    martes, 2 de febrero de 2021 15:40
    Moderador
  • Hola Eric

    Gracias por tu ayuda,

    pues nada, el ejemplo foro no funcionó, me toco implementar a pedal la funcionalidad de encabezado y pie de pagina controlando el número de lineas


    • Marcado como respuesta EricRRModerator miércoles, 3 de febrero de 2021 17:17
    miércoles, 3 de febrero de 2021 15:28