fpdf_wordpress

Generar PDF con WordPress

Generar un PDF con WordPress es más fácil de lo que crees si sabes como hacerlo.

Comencemos poniendo un caso típico, necesitamos que un cliente de nuestro sitio acepte un contrato en linea. Luego de seleccionar el checkbox de “Acepto los términos y condiciones”, ingresa su nombre completo, quizás sus iniciales y envía nuestro formulario. Este es el momento en que necesitamos generar un PDF que contenga esta información, necesitamos almacenarlo en el servidor, enviarlo por correo o quizás, brindarle la opción de descargarlo.

Aquí es donde viene la libreria FPDF al rescate. Del acrónimo Free PDF.

FPDF es una clase PHP que permite generar archivos PDF con puro PHP, es decir sin usar la librería PDFlib. Como decía anteriormente la F de FPDF viene de Free: puedes usarlo para cualquier tipo de proyecto y modificarlo para que se acomode a tu necesidad.

Tiene otras ventajas: Funciones de alto nivel. Aquí está una lista de sus principales características:

  • Elección de la unidad de medida, el formato de página y márgenes.
  • Encabezado de página y la gestión de pie de página.
  • Ruptura automática de página.
  • Salto de línea automático y justificación del texto.
  • Soporte diferentes tipos de imagenes (JPEG, PNG y GIF).
  • Colores.
  • Enlaces.
  • Admisión de fuentes TrueType, Type1 y apoyo de codificación.
  • Compresión de Página.

También vale destacar que la clase puede producir documentos en muchos lenguajes.

FPDF no requiere ninguna extensión (excepto zlib para activar la compresión y GD para soporte GIF). Funciona con PHP 4 y PHP 5 (la última versión requiere al menos PHP 4.3.10).

Pero démosle una probada…comencemos con el clásico ejemplo ¡Hola Mundo!

Paso 1: Comencemos por descargar la última version de aquí.

Paso 2: Necesitamos incluir nuestra clase:


Paso 3:
Instanciemos nuestra clase:


Paso 4:
Creamos una página, esto lo haremos con AddPage().


Paso 5:
 Antes de que podamos imprimir texto, es obligatorio escoger una fuente con SetFont(), si no, el documento no será válido. Escogemos Arial en negrita de tamaño 16:

Podríamos haber especificado itálica con I, subrayado con U o normal con una cadena vacía (o cualquier combinación de las anteriores). Observe que el tamaño de la fuente se determina en puntos, no en milímetros (ni en cualquier otra unidad establecida por el usuario); es la única excepción. Las otras fuentes incorporadas son Times, Courier, Symbol y ZapfDingbats.

Paso 6: Ahora podemos imprimir una celda con Cell(). Una celda es una superficie rectangular, con borde si se quiere, que contiene texto. Se imprime en la posición actual. Especificamos sus dimensiones, el texto (centrado o alineado), si queremos dibujar o no los bordes, y dónde se ubicará la posición actual después de imprimir la celda (a la derecha, debajo o al principio de la siguiente línea). Para añadir el borde, deberemos hacer esto:

Para añadir una nueva celda a continuación, con el texto centrado e ir a la siguiente línea, escribiremos:

Y así en adelante, cada celda, contendría nuevo texto, y el documento se va creando en tiempo real, dinámicamente desde una base de datos, desde un fichero, entre muchas otras opciones que podamos necesitar.

Nota: el salto de línea puede provocarse también mediante Ln(). Este método le permite especificar además la altura del salto.

Finalmente, el documento se cierra y se envía al navegador con Output(). También podríamos haberlo guardado en un fichero pasando como parámetro el nombre del archivo.

Cuidado: en caso de que el PDF se envíe al navegador, nada más debe enviarse, ni antes ni después (el más mínimo espacio en blanco o retorno de carro también cuenta). Si se envía algún dato antes, obtendrá el mensaje de error: “Some data has already been output, can’t send PDF file”. Si se envía después, su navegador puede que muestre únicamente una página en blanco.

El código final luciría así:

Puedes ver un demo del archivo final.

Pues eso es todo, ahora tienes la posibilidad de estar en control de generar un archivo pdf donde puedas crear cualquier tipo de información.

La documentación completa en línea la puedes encontrar aquí y también existe una sección de scripts que incluye algunas extensiones muy útiles.

Unir esto con WordPress es bien sencillo. Solo tiene que usar esa clase en cualquier Hook que necesites, incluso puede ser una herramienta genial para extender WooCommerce.

La página oficial en www.fpdf.org

2 Comentarios

  1. harold

    hola
    leyendo el articulo es lo que necesito.
    pero realmente uando dices que lo intergre a wordpress es ahi donde no entiendo.
    porfa me podrias ayudar
    gracias

Dejanos un comentario