Generación de Documentos PDF con fpdf en Python

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:

Python
import fpdf

A continuación, podemos crear un objeto fpdf:

Python
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():

Python
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():

Python
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():

Python
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():

Python
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():

Python
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:

Python
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