Android >> Añadiendo cabecera, pie de página y marca de agua en un PDF en Android

Ya vimos como crear un fichero PDF básico en Android usando la librería droidText (basada en iText). Ahora vamos a ver como añadir opciones un poco más avanzadas. En esta ocasión vamos a añadir un encabezado, un pie de página y una marca de agua.

  • Agregando una cabecera

Para agregar la cabecera debemos de escribir lo siguiente:

import com.lowagie.text.Document;
import com.lowagie.text.HeaderFooter;
import com.lowagie.text.Phrase;

…

// Creamos el documento.
Document documento = new Document();

// Incluimos una cabecera
HeaderFooter cabecera = new HeaderFooter(new Phrase("Esta es mi cabecera"), false);
documento.setHeader(cabecera);

// Abrimos el documento.
documento.open();

IMPORTANTE: Se debe de incluir la cabecera antes de abrir el documento.

  • Agregando un pie de página

Para añadir un pie de página debemos de hacer lo mismo que para añadir la cabecera:

import com.lowagie.text.Document;
import com.lowagie.text.HeaderFooter;
import com.lowagie.text.Phrase;

…

// Creamos el documento.
Document documento = new Document();

// Incluimos el píe de página y una cabecera
HeaderFooter pie = new HeaderFooter(new Phrase("Este es mi pie de página"), false);
documento.setFooter(pie);

// Abrimos el documento.
documento.open();

IMPORTANTE: Se debe de incluir la cabecera antes de abrir el documento.

  • Agregando una marca de agua

Si queremos añadir una marca de agua a nuestro documento PDF debemos de escribir lo siguiente:

import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.FontFactory;
import com.lowagie.text.pdf.ColumnText;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;

// Asociamos el flujo que acabamos de crear al documento.
PdfWriter writer = PdfWriter.getInstance(documento, ficheroPdf);

// Agregar marca de agua
Font font = FontFactory.getFont(FontFactory.HELVETICA, 42, Font.BOLD, Color.GRAY);
	ColumnText.showTextAligned(writer.getDirectContentUnder(),Element.ALIGN_CENTER,
	new Paragraph( "amatellanes.wordpress.com", font), 297.5f, 421, 
	writer.getPageNumber() % 2 == 1 ? 45 : -45);

El fichero PDF se almacenará en el directorio /MiPdf dentro del directorio de descargas de nuestro dispositivo. El fichero que hemos creado quedará así.

La aplicación completa está disponible en mi GitHub.

Etiquetado , ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: