Generación de Documentos PDF con fpdf en Python
En este tutorial, aprenderemos a generar documentos PDF con la librería fpdf en Python. fpdf es una librería gratuita y de código abierto que permite crear documentos PDF de forma sencilla.
Instalación
La primera etapa es instalar la librería fpdf. Para ello, podemos usar el siguiente comando en la terminal:
pip install fpdf
Creación de un documento PDF
Para crear un documento PDF, primero debemos importar la librería fpdf:
import fpdf
A continuación, podemos crear un objeto fpdf:
pdf = fpdf.FPDF()
Este objeto representa el documento PDF que vamos a crear.
Para agregar una página al documento, usamos el método add_page()
:
pdf.add_page()
Ahora, podemos comenzar a agregar contenido al documento.
Agregar texto al documento
Para agregar texto al documento, usamos el método cell()
:
pdf.cell(200, 10, "Este es un texto", 0, 0, 'C')
Este método recibe los siguientes argumentos:
- ancho: Ancho de la celda en píxeles.
- alto: Alto de la celda en píxeles.
- texto: Texto que se va a imprimir en la celda.
- borde: Indica si la celda tiene borde.
- relleno: Indica si la celda está rellena.
- alineación: Alineación del texto en la celda.
En este ejemplo, agregamos un texto con un ancho de 200 píxeles y un alto de 10 píxeles. El texto está centrado en la celda.
También podemos agregar texto a una celda con varias líneas usando el método multi_cell()
:
pdf.multi_cell(200, 10, "Este es un texto de varias líneas.", 0, 0, 'C')
Este método funciona de manera similar al método cell()
, pero permite agregar texto a una celda con varias líneas.
Agregar imágenes al documento
Para agregar imágenes al documento, usamos el método image()
:
pdf.image("image.jpg", 100, 100)
Este método recibe los siguientes argumentos:
- ruta: Ruta de la imagen.
- x: Coordenada X de la esquina superior izquierda de la imagen.
- y: Coordenada Y de la esquina superior izquierda de la imagen.
En este ejemplo, agregamos una imagen con la ruta «image.jpg» en la posición (100, 100).
Agregar encabezado y pie de página
Para agregar encabezado y pie de página al documento, usamos los métodos set_header()
y set_footer()
:
pdf.set_header("Este es el encabezado")
pdf.set_footer("Este es el pie de página")
Estos métodos reciben el texto que se va a imprimir en el encabezado y el pie de página, respectivamente.
Ejemplo completo
El siguiente ejemplo muestra cómo agregar texto, imágenes, encabezado y pie de página a un documento PDF:
import fpdf
def generar_pdf():
# Creamos un objeto fpdf
pdf = fpdf.FPDF()
# Agregamos una página
pdf.add_page()
# Agregamos un encabezado
pdf.set_header("Documento PDF con fpdf")
# Agregamos un texto
pdf.cell(200, 10, "Este es un texto", 0, 0, 'C')
# Agregamos una imagen
pdf.image("image.jpg", 100, 100)
# Agregamos un pie de página
pdf.set_footer("Página {}".format(pdf.page_no()))
# Guardamos el documento
pdf.output("documento.pdf")
if __name__ == "__main__":
generar_pdf()
Este ejemplo genera un documento PDF con el siguiente contenido:
Documento PDF con fpdf
Este es un texto
Conclusión
En este tutorial, aprendimos a generar documentos PDF