Hola buenas,
os comento el problemilla que me ha surgido.
he creado una tabla en un pdf desde visual basic pero no se como hacer estas 2 cosas:
1- darle un tamaño especifico a las celdas
2- mover a la tabla a una ubicación especifica y que no salga centrada en el pdf....
¿podría ayudarme alguien?
estaría muy agradecido.
Un saludo de vuestro amigo y vecino,
PETETE;)
Cita de: PETTETE en 28 Junio 2017, 20:48 PM¿podría ayudarme alguien?
Tus dos últimas dudas tratan sobre creación de archivos de Excel y archivos PDF, pues dudo mucho que alguien pueda ayudarte si en ninguna de tus dudas mencionas que librería de terceros o clases de .NET Framework estás utilizando para ese tipo de tareas... y tampoco enseñas el código.
En el foro no hay adivinos.
Saludos!
Cierto es... mea culpa.
Utilizo la libreria itextsharp.
mi codigo es l siguiente.
Imports iTextSharp.text ' ES OBLIGATORIO IMPORTAR ESTA CLASE PARA QUE EL VISUAL BASIC ENTIENDA EL IDIOMA UTILIZADO
Imports iTextSharp.text.pdf
Module Module1
Sub Main()
' CREAR PDF Y ESCRIBIR
Dim documentoPDF As New Document(PageSize.A4, 100, 100, 220, 150) ' SE LE PONE LAS CARACTERISTICAS DEL DOCUMENTO PDF (TAMAÑO ETC.)
iTextSharp.text.pdf.PdfWriter.GetInstance(documentoPDF, New System.IO.FileStream("plantilla.PDF", System.IO.FileMode.Create))
documentoPDF.Open()
'AÑADIR TABLA
Dim tabla
Dim celda
Dim celda1
Dim celda2
Dim celda3
Dim celda4
Dim celda5
tabla = New pdf.PdfPTable(6) 'EL 4 ES EL NUMERO DE COLUMNAS
celda = New pdf.PdfPCell(New Phrase("")) 'TITULO DE LA TABLA
celda1 = New pdf.PdfPCell(New Phrase("CÓDIGO CLIENTE"))
celda2 = New pdf.PdfPCell(New Phrase("SU PEDIDO Nº"))
celda3 = New pdf.PdfPCell(New Phrase("REFERENCIA PROVEEDOR"))
celda4 = New pdf.PdfPCell(New Phrase("FECHA"))
celda5 = New pdf.PdfPCell(New Phrase("FACTURA Nº"))
'celda.colspan = 1 ' CELDAS QUE OCUPA EL TITULO DE TABLA ||| SI LLEGA A SER 3, COMO LA TABLA TIENE 4 COLUMNAS, 1 DE LAS CELDAS SUBIRIA Y SE COLOCARIA JUNTA A LA DEL TITULO
' celda.horizontalAlignment = 1 ' UBICACIÓN DEL TITULO DE LA TABLA: 0=IZQUIERDA 1=CENTRADO 2=DERECHA
'celda.padding = 0.5 ' ALTURA DE LA CELDA DE TITULO
celda.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER
celda.VerticalAlignment = iTextSharp.text.Element.ALIGN_TOP
celda1.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER
celda1.VerticalAlignment = iTextSharp.text.Element.ALIGN_TOP
celda2.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER
celda2.VerticalAlignment = iTextSharp.text.Element.ALIGN_TOP
celda3.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER
celda3.VerticalAlignment = iTextSharp.text.Element.ALIGN_TOP
celda4.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER
celda4.VerticalAlignment = iTextSharp.text.Element.ALIGN_TOP
celda5.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER
celda5.VerticalAlignment = iTextSharp.text.Element.ALIGN_TOP
celda.backgroundcolor = pdf.ExtendedColor.LIGHT_GRAY ' COLOR DE RELLENO DE LA CELDA DE TITULO
celda1.backgroundcolor = pdf.ExtendedColor.LIGHT_GRAY
celda2.backgroundcolor = pdf.ExtendedColor.LIGHT_GRAY
celda3.backgroundcolor = pdf.ExtendedColor.LIGHT_GRAY
celda4.backgroundcolor = pdf.ExtendedColor.LIGHT_GRAY
celda5.backgroundcolor = pdf.ExtendedColor.LIGHT_GRAY
tabla.addcell(celda)
tabla.addcell(celda1)
tabla.addcell(celda2)
tabla.addcell(celda3)
tabla.addcell(celda4)
tabla.addcell(celda5)
tabla.addcell(" 1 ") 'SE AÑADE LA CELDA 1
tabla.addcell(" 2 ")
tabla.addcell(" 3 ")
tabla.addcell(" 4 ")
tabla.addcell(" 5 ")
tabla.addcell(" 6 ")
' TOTAL DE CELDAS: 12
documentoPDF.Add(tabla)
documentoPDF.Close()
Process.Start("plantilla.PDF")
End Sub
End Module
Quiero crear 3 tablas pero de momento con una me vale.. jajaja
Lo que pretendo es que la tabla que se genere tenga 6 columnas y 2 filas. y que la celdas de la fila 1 tenga un tamaño X. A parte de eso quiero mover la tabla a la parte superior izquierda.
pd, Muchas gracias por contestar siempre, siemrpe que posteo algo contestas y eso se agradece =)
Un saludo,
PETETE;)
Cita de: PETTETE en 29 Junio 2017, 14:20 PM
Lo que pretendo es que la tabla que se genere tenga 6 columnas y 2 filas. y que la celdas de la fila 1 tenga un tamaño X.
La próxima vez deberías usar
Google para preguntarle algo tan básico como redimensionar el tamaño de una celda/columna...
- How to define the width of a cell? | itextpdf.com (http://developers.itextpdf.com/question/how-define-width-cell)
Y también estudiar la referencia oficial de esa librería...
- iText v5 API Reference | itextpdf.com (http://itextsupport.com/apidocs/itext5/latest/allclasses-noframe.html)
iText v7 API Reference | itextpdf.com (http://itextsupport.com/apidocs/itext7/7.0.0/allclasses-noframe.html)
...O los ejemplos que proveen para iniciados:
- iText Examples | itextpdf.com (http://developers.itextpdf.com/examples)
Saludos