Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: PETTETE en 24 Julio 2017, 07:41 am



Título: problema con itextsharp [RESUELTO]
Publicado por: PETTETE en 24 Julio 2017, 07:41 am
Hola buenas,
El asunto que em trae hoy es un problema que tengo con itextsharp.
He anclado una tabla en un pdf, dandole una posicion fija.
Se supone que la tabla debería de salir en todas las paginas del pdf, pero solo aparece en la última página.

Os adjunto parte del código poruq el código entero es muy largo...

Código
  1. tabla0.horizontalalignment = Element.ALIGN_RIGHT
  2.        tabla0.totalwidth = 180.0F
  3.        tabla0.lockedwidth = True
  4.        tabla0.spacingafter = 20.0F
  5.  
  6.        tabla1.setwidths(New Single() {27.5F, 80.0F, 20.0F, 22.0F})
  7.        tabla1.totalwidth = 565.0F  ' ANCHURA TOTAL DE LA TABLA
  8.        tabla1.LockedWidth = True
  9.        tabla1.spacingafter = 6.5F
  10.  
  11.        tabla2.setwidths(New Single() {22.0F, 30.0F, 115.0F, 15.0F, 33.0F})
  12.        tabla2.totalwidth = 560.0F
  13.        tabla2.LockedWidth = True
  14.        tabla2.splitrows = True
  15.        tabla2.HeaderRows = 1  ' LA FILA 1 DE LA TABLA2 SE CONVIERTE EN LA CABECERA DE LA TABLA Y SIEMPRE QUE SALTA DE PAGINA APARECERÁ ESTA FILA.
  16.  
  17.        'tabla6.setwidths(New Single() {24.0F, 30.0F, 114.0F, 30.0F, 34.0F})
  18.        'tabla6.totalwidth = 539.0F
  19.        'tabla6.LockedWidth = True
  20.  
  21.        tabla7.setwidths(New Single() {22.0F, 31.0F, 119.0F, 17.7F, 30.5F})
  22.        tabla7.totalwidth = 565.0F
  23.        tabla7.LockedWidth = True
  24.  
  25.        tabla3.SetWidths(New Single() {46.5F, 27.5F, 16.5F, 26.5F, 39.5F, 12.5F, 27.0F, 38.5F})
  26.        tabla3.TotalWidth = 565.0F
  27.        tabla3.LockedWidth = True
  28.        tabla3.SpacingBefore = 6.0F
  29.  
  30.  
  31. For i = numreg - 8 To numreg ' CONTAMOS LAS ULTIMAS 8 LINEAS DEL TXT
  32.  
  33.            Dim micelda = New pdf.PdfPCell(New Phrase(b(i).ToString(), New Font(Font.ITALIC, 8.0F, Font.NORMAL)))
  34.            micelda.FixedHeight = 54.0F
  35.  
  36.            micelda.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER
  37.            micelda.VerticalAlignment = iTextSharp.text.Element.ALIGN_MIDDLE
  38.  
  39.            tabla3.addcell(micelda)
  40.        Next
  41.  
  42.  Public Class EVENTOS_ITEXT '
  43.  
  44.        Inherits PdfPageEventHelper
  45.  
  46.        Public Overrides Sub OnEndPage(writer As PdfWriter, document As Document) ' OVERRIDES reemplaza el método por el método personalizado
  47.  
  48.  
  49.            contador_paginas_total += 1
  50.            'If contador_paginas_total = 1 Then
  51.            '    tabla6.WriteSelectedRows(0, -1, 28.2, 552, writer.DirectContent())
  52.            'tabla5.writeselectedrows(0, -1, 28.4, 132, writer.DirectContent())
  53.            'tabla3.WriteSelectedRows(0, -1, 28.4, 190, writer.DirectContent())
  54.  
  55.            '    tabla0.WriteSelectedRows(0, -1, 315, 700, writer.DirectContent())
  56.  
  57.            '    tabla1.WriteSelectedRows(0, -1, 28.4, 600, writer.DirectContent())
  58.            'End If
  59.            'If contador_paginas_total = 1 Then
  60.  
  61.            tabla7.WriteSelectedRows(0, -1, 22.0, 571.5, writer.DirectContent())
  62.  
  63.  
  64.            'tabla5.writeselectedrows(0, -1, 28.4, 132, writer.DirectContent())
  65.  
  66.            tabla3.WriteSelectedRows(0, -1, 22, 195, writer.DirectContent())
  67.  
  68.            tabla0.WriteSelectedRows(0, -1, 325, 720, writer.DirectContent())
  69.  
  70.            tabla1.WriteSelectedRows(0, -1, 22, 620, writer.DirectContent())
  71.  

En caso de necesitar mas datos solo teneis que pedirlos..l

No se porque pasa eso de que solo aparezca en la ultima página...


Título: Re: problema con itextsharp [RESUELTO]
Publicado por: PETTETE en 24 Julio 2017, 10:57 am
Ya he coinseguido resolverlo.

A sido una tontería, solo había que cambiar el orden de llamada de los SUBs.