Cargando



Python - Crear PDF con Gráficos, parte 1

En este tutorial veremos cómo lograr encaminar un proyecto para tomar datos desde una fuente y generar un archivo PDF con un gráfico de los datos procesados.


mar 09 2014 06:46
Profesional
mar 09 2014 06:50
Python posee una gran capacidad parar trabajar con archivos de texto, gracias a esto podemos extraer información de diversas fuentes como páginas web, ahora, hacer una salida de solo texto con los datos extraídos a veces no es lo ideal, ya que la información procesada suele ser mucho más digerible.

Para lograr procesar dicha información Python cuenta con herramientas que nos permiten realizar gráficos con dichos datos y arrojarlos en un archivo PDF, debido a la limpieza de la programación es mucho más fácil lograr estos resultados desde Python que desde un programa de hojas de cálculos.

El Proyecto

Como habíamos mencionado anteriormente manipular data en Python es muy sencillo gracias a su capacidad de manejo de archivos y cadenas de texto, así que sabiendo esto vamos a crear un archivo PDF que incorpore gráficos, estos serán creados a partir de unos datos que obtendremos de una fuente externa.

Este tipo de reportes nos permite incorporar lógica de programación más compleja que hace que la implementación en Python sea mucho más sencilla que utilizando un programa de hojas de cálculo.

Herramientas

Para lograr nuestros objetivos necesitamos establecer que paquetes y herramientas vamos a utilizar, de forma que sepamos qué tipo de lógica utilizar.

Para este proyecto en específico hemos decidido utilizar ReportLab ya que es de fácil utilización y tiene un buen soporte tanto para gráficos como para la generación de archivos PDF. Para obtenerlo podemos acceder a la web oficial http: / /reportlab.org ubicamos el apartado de descargas y bajamos el toolkit adecuado, una vez obtengamos el archivo comprimido simplemente lo descomprimimos en el PATH de Python y ya podremos utilizarlo, en la siguiente imagen vemos como debemos hacer el llamado dentro de nuestro código:

python_pdfgraficos_parte1.jpg


Como podemos ver es bastante sencillo incorporar la librería en nuestro entorno de desarrollo.

Dibujando con ReportLab

Antes de continuar con el desarrollo del proyecto vamos a hacer un paréntesis y vamos a ver el funcionamiento básico de ReportLab de forma que tengamos una base con la cual trabajar.

Vamos a utilizar el módulo reportlab.graphics que nos permite realizar dibujos avanzados y dentro de este vamos a importar el módulo de generación de PDF también, veamos a continuación el código que nos permite dibujar un PDF mostrando el clásico Hello, World!

from reportlab.graphics.shapes import Drawing, String
from reportlab.graphics import renderPDF
d = Drawing(100, 100)
s = String(50, 50, 'Hello, world!', textAnchor='middle')
d.add(s)
renderPDF.drawToFile(d, 'hello.pdf', 'A simple PDF file')



Como podemos visualizar es muy simple, solo debemos importar el paquete graphics, los módulos de dibujo y de generación de PDF, luego creamos un objeto Drawing y un objeto String con el texto que queremos dibujar, utilizamos el método add() para agregar el objeto String al objeto Drawing y que nos permita dibujar el texto y por último en la generación del PDF le pasamos el objeto que realizará el dibujo junto con el nombre del archivo PDF.

El resultado debe ser algo como esto:

python_pdfgraficos_parte1.2.jpg


Con esto finalizamos esta primera parte del tutorial; en la siguiente parte vamos a iniciar la construcción del proyecto y adentrarnos un poco más en el funcionamiento de ReportLab y la integración con Python.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X