iText - PdfPTable - ¿Como agregar una tabla con iText? - ¿Como modificar el tamaño una tabla con iText? - ¿Como modificar la alineación de una tabla con iText?

Hola seguimos con el tutorial de primeros pasos con iText, hoy vamos a ver la clase PdfPTable.


La clase PdfPTable

La clase PdfPTable es la encargada de generar un tabla, se puede generar en un posición absoluta como también agregarla a un documento. Para entender completamente el PdfPTable debemos incluir también al PdfPCell, ya que este ultimo representa a una celda en una tabla ,es sumamente extensa la explicación y  entonces para no marearnos hoy hablaremos de lo básico del PdfPCell.


Constructores de la clase PdfPTable

PdfPTable(final float[] ): Constructor que recibe por parámetro un vector el cual representa las dimensiones de las columnas.
PdfPTable(final int ): Constructor que recibe por parámetro un Integer el cual representa la cantidad de columnas.
PdfPTable(final PdfPTable ) : Constructor que recibe por parámetro un PdfPTable el cual sera duplicado.

Itext - PdfPTable ¿Como agregar una tabla con iText? 


Primero tenemos que obtener una instancia de la clase PdfPTable utilizar el constructor pasando un numero entero el cual es la cantidad de columnas que deseamos. Como ejemplo pasaremos 1 columna.

PdfPTable tabla = new PdfPTable(1);

Luego tenemos que generar la celda con la cual llenaremos la tabla. La clase involucrada es PdfPCell

PdfPCell celda1 = new PdfPCell(new Paragraph("Celda 1"));

En nuestro ejemplo estamos instanciando un objeto celda con un párrafo el cual contiene la descripción "Celda 1". (Si no recordas como generar un Paragraph pasa por aca!)

Luego agregamos a la tabla la celda que creamos mas arriba

tabla.addCell(celda1);

Finalmente agregamos la tabla al documento.

 documento.add(tabla);

Resultado:




Código Completo:


Itext - PdfPTable ¿Como agregar una tabla con iText?
Itext - PdfPTable ¿Como agregar una tabla con iText?


Itext - PdfPTable ¿Como modificar el tamaño una tabla con iText? 


Primero tenemos que obtener una instancia de la clase PdfPTable utilizar el constructor pasando un numero entero el cual es la cantidad de columnas que deseamos. Como ejemplo pasaremos 1 columna.

PdfPTable tabla = new PdfPTable(1);

Luego tenemos que generar la celda con la cual llenaremos la tabla. La clase involucrada es PdfPCell

PdfPCell celda1 = new PdfPCell(new Paragraph("Celda 1"));

En nuestro ejemplo estamos instanciando un objeto celda con un párrafo el cual contiene la descripción "Celda 1". (Si no recordas como generar un Paragraph pasa por aca!)

Luego agregamos a la tabla la celda que creamos mas arriba

tabla.addCell(celda1);

Luego asignamos el porcentaje del tamaño que quisiéramos con la propiedad setWidthPercentage, dicha propiedad recibe un numero flotante, en nuestro ejemplo sera 10f.

 tabla.setWidthPercentage(10f);

Finalmente agregamos la tabla al documento.

 documento.add(tabla);

Resultado:
Itext - PdfPTable ¿Como modificar el tamaño una tabla con iText?

Itext - PdfPTable ¿Como modificar el tamaño una tabla con iText? 

Código:





Itext - PdfPTable ¿Como modificar la alineación de una tabla con iText? 


Primero tenemos que obtener una instancia de la clase PdfPTable utilizar el constructor pasando un numero entero el cual es la cantidad de columnas que deseamos. Como ejemplo pasaremos 1 columna.

PdfPTable tabla = new PdfPTable(1);

Luego tenemos que generar la celda con la cual llenaremos la tabla. La clase involucrada es PdfPCell

PdfPCell celda1 = new PdfPCell(new Paragraph("Celda 1"));

En nuestro ejemplo estamos instanciando un objeto celda con un párrafo el cual contiene la descripción "Celda 1". (Si no recordas como generar un Paragraph pasa por aca!)

Luego agregamos a la tabla la celda que creamos mas arriba

tabla.addCell(celda1);

Luego asignamos la alineación a la tabla con el método setHorizontalAlignment, el cual recibe un Entero, en nuestro caso utilizaremos los atributos de la Interface com.itextpdf.text.Element la cual ya vienen definidos los valores para izquierda, derecha, centro, etc.

tabla.setHorizontalAlignment(Element.ALIGN_LEFT);

Finalmente agregamos la tabla al documento.

documento.add(tabla);

Resultado:


Itext - PdfPTable ¿Como modificar la alineación de una tabla con iText?

Código:


Itext - PdfPTable ¿Como modificar la alineación de una tabla con iText?


Links relacionados:


iText - Paragraph - ¿Como agregar texto con la clase Paragraph? - ¿Como cambiar la alineación del texto? - ¿Como cambiar la identacion del texto?
iText - PdfPTable - ¿Como agregar una tabla con iText? - ¿Como modificar el tamaño una tabla con iText? - ¿Como modificar la alineación de una tabla con iText? iText - PdfPTable - ¿Como agregar una tabla con iText? - ¿Como modificar el tamaño una tabla con iText? - ¿Como modificar la alineación de una tabla con iText? Reviewed by El lado oscuro de java on marzo 25, 2014 Rating: 5

5 comentarios:

  1. Buen Aporte mi estimado amigo, ya que estamos en el tema de tablas nos podrías decir como se puede separar en caso de tener dos tablas una de la otra.
    te agradecería muchísimo mi amigo que nos ayudaras con eso.

    ResponderEliminar
  2. Como puedo hacer para agregar otra tabla y quede al lado de la primera y no debajo?

    ResponderEliminar
  3. Hola muy útil la info. solo me queda la duda... ¿cómo se centra el texto dentro de la tabla?.... intente con la clase Paragraph y nada, alguna sugerencia muchas gracias :)

    ResponderEliminar
  4. LineSeparator ls = new LineSeparator();
    documento.add(new Chunk(ls));

    eso use yo...

    ResponderEliminar
  5. Este comentario ha sido eliminado por el autor.

    ResponderEliminar

Con la tecnología de Blogger.