Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/02/2015, 09:09
fradalape
 
Fecha de Ingreso: julio-2013
Mensajes: 36
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: ITextSharp Lineas Escritas en Archivo PDF

Muchas Gracias WWWmaster, con lo que me has dicho he podido hacer lo que necesitaba ahora bien...

tengo un problema y es la posición de la tabla, te adjunto mi código.

Código:
  Dim DocumentoPDF As New Document
        Dim ruta As String = "C:\Users\francisco.lara\Desktop\pdf\libro.pdf"
        Dim fs As New FileStream(ruta, FileMode.Create, FileAccess.Write)
        Dim pdfw As PdfWriter = PdfWriter.GetInstance(DocumentoPDF, fs)

        Dim iEstado As Integer = 0, iColumna As Integer = 0
        '  Const INTERLINEADO As Single = 8
        'Const MARGEN_INFERIOR As Single = 30
        DocumentoPDF.Open()
        DocumentoPDF.NewPage()
        '   cb.BeginText()
        Dim imagen As iTextSharp.text.Image 'declaración de imagen
        imagen = iTextSharp.text.Image.GetInstance(My.Application.Info.DirectoryPath & "\Logo Segeplan a color.jpg") 'nombre y ruta de la imagen a insertar
        imagen.ScalePercent(16.7) 'escala al tamaño de la imagen
        imagen.SetAbsolutePosition(40, 760) 'posición en la que se inserta. 40 (de izquierda a derecha). 500 (de abajo hacia arriba)
        DocumentoPDF.Add(imagen) 'se agrega la imagen al documento
        Dim arreglo(35)
        Dim arreglo2(35)
        Dim arreglo3(35)
        Dim arreglo4(35)

        Dim y As Integer = 720
        Dim pdfTablaCadenaSello As New PdfPTable(4)
        Dim arrAnchosColumna As Single() = {300.0F, 68.0F, 68.0F, 68.0F}
        pdfTablaCadenaSello.SetTotalWidth(arrAnchosColumna)
        pdfTablaCadenaSello.SpacingBefore = 15.0F 'Give some space after the text or it may overlap the table
        pdfTablaCadenaSello.DefaultCell.Border = 0

        Dim i, a, C, D As Integer
        Dim consulta = (From dt In db.criteriosResps Order By dt.idcriterio Where dt.idsnip = txtsnip.Text Select dt.RSi).ToList
        Dim consulta2 = (From da In db.criterios Select da.Nombre).ToList
        Dim consulta3 = (From da In db.criteriosResps Order By da.idcriterio Where da.idsnip = txtsnip.Text Select da.RNo).ToList
        Dim consulta4 = (From da In db.criteriosResps Order By da.idcriterio Where da.idsnip = txtsnip.Text Select da.Observacion).ToList

        Dim font12Bold As New iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.COURIER, 8.0F, iTextSharp.text.Font.NORMAL, BaseColor.BLACK)
        For Each cri In consulta2
            arreglo(i) = cri
            i = i + 1
        Next
        For Each l In consulta
            If l = False Then
                y = y - 15
                arreglo2(a) = "NO"
                a = a + 1
            Else
                y = y - 15
                arreglo2(a) = "SI"
                a = a + 1
            End If
        Next
        For Each l In consulta3
            If l = False Then
                y = y - 15
                arreglo3(C) = "NO"
                C = C + 1
            Else
                y = y - 15
                arreglo3(C) = "SI"
                C = C + 1
            End If
        Next
        For Each l In consulta4
            y = y - 15
            arreglo4(D) = l
            D = D + 1
        Next
 
        Dim cell = New PdfPCell(New Phrase("Test"))
        cell.Border = 0
        For b As Integer = 0 To 34
            cell.Border = 0
            pdfTablaCadenaSello.DefaultCell.Border = 0
            cell = New PdfPCell(New Phrase(arreglo(b), font12Bold))
            cell.Border = 0
            pdfTablaCadenaSello.AddCell(cell)
            cell = New PdfPCell(New Phrase(arreglo2(b), font12Bold))
            cell.Border = 0
            pdfTablaCadenaSello.AddCell(cell)
            cell = New PdfPCell(New Phrase(arreglo3(b), font12Bold))
            cell.Border = 0
            pdfTablaCadenaSello.AddCell(cell)
            cell = New PdfPCell(New Phrase(arreglo4(b), font12Bold))
            cell.Border = 0
            pdfTablaCadenaSello.AddCell(cell)
        Next
        DocumentoPDF.Add(pdfTablaCadenaSello)
        ' Close the objects
        DocumentoPDF.Close()
        fs.Close()
        If System.IO.File.Exists(ruta) Then
            If MsgBox("Texto convertido a fichero PDF correctamente " + _
                   "¿desea abrir el fichero PDF resultante?",
                   MsgBoxStyle.Question + MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                'Abrimos el fichero PDF con la aplicación asociada
                System.Diagnostics.Process.Start(ruta)
            End If
        Else
            MsgBox("El fichero PDF no se ha generado, " + _
                   "compruebe que tiene permisos en la carpeta de destino.",
                   MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly)
        End If
El problema esque me sale esto:

http://prntscr.com/674ooi

Quiero posicionar obviamente la tabla debajo de la Imagen, si es posible hacerlo, te agradesco me des una orientación.