USO DE IRONPDF FOR PYTHON

Cómo crear archivos PDF con texto e imágenes en Python

En esta era digital, la necesidad de generar documentos PDF con contenido dinámico, incluidos texto e imágenes, es un requisito habitual. Python es un lenguaje de programación muy popular que facilita la automatización de procesos rutinarios para ahorrar tiempo y energía. Contar con una biblioteca versátil para crear archivos PDF con texto e imágenes en Python puede ser muy útil para la generación automática de informes, recibos o facturas. IronPDF, una versátil biblioteca de Python, simplifica el proceso de crear PDFs con contenido rico.

En este artículo, exploraremos cómo utilizar IronPDF para generar PDFs que incluyan tanto texto como imágenes en un proyecto Python.

Cómo crear archivos PDF con texto e imágenes en Python

  1. Instalar la biblioteca IronPDF for Python

  2. Instanciar ChromePdfRenderer

  3. Añadir contenido de texto

  4. Añadir imagen como dato binario

  5. Crear cadenas HTML con texto e imágenes

  6. Convertir HTML en PDF con RenderHtmlAsPdf

  7. Guardar un archivo PDF con el método SaveAs

Introducción a IronPDF

IronPDF es una biblioteca de Python rica en funciones que proporciona a los desarrolladores herramientas potentes para crear, manipular y procesar documentos PDF. Con IronPDF, puede incorporar fácilmente texto, imágenes, tablas y otros elementos a sus PDF, lo que lo convierte en un valioso activo para una amplia gama de aplicaciones, desde la generación de informes hasta la creación de documentos.

Cómo crear archivos PDF con texto e imágenes en Python: Figura 1 - IronPDF for Python: La biblioteca PDF para Python

Características principales de IronPDF:

  • Integración fácil: IronPDF se integra perfectamente con los entornos de desarrollo Python populares, haciéndolo accesible para desarrolladores que utilizan herramientas como PyCharm.
  • Compatibilidad con texto enriquecido: Admite el formato de texto enriquecido, lo que permite a los desarrolladores crear documentos PDF visualmente atractivos con facilidad.
  • Manejo de imágenes: IronPDF permite la inclusión de imágenes en archivos PDF, proporcionando flexibilidad en el diseño y la personalización de documentos.
  • Compatibilidad multiplataforma: IronPDF funciona en diferentes plataformas, asegurando que los PDFs generados puedan ser visualizados e interactuados de manera consistente.

Requisitos previos

Antes de sumergirse en el proceso de creación de documentos PDF con IronPDF, asegúrese de que dispone de los siguientes requisitos previos:

  1. Python Instalado: Python necesita estar instalado en tu computadora. Puedes descargar e instalar la última versión desde el sitio web oficial de Python (https://www.python.org/).

  2. PyCharm IDE: Use PyCharm o cualquier otro IDE de Python de su elección. PyCharm es un entorno de desarrollo integrado popular que proporciona un espacio de trabajo cómodo para el desarrollo en Python.

  3. IronPDF: Biblioteca IronPDF descargada desde aquí o instalada usando PIP (Administrador de Paquetes de Python). También se requiere el tiempo de ejecución de Microsoft .NET para utilizar correctamente la funcionalidad de IronPDF. Los usuarios de Linux, Mac y Windows pueden descargar la versión .NET 6.0 utilizando este enlace de descarga.

Crear un proyecto Python en PyCharm

Una vez cumplidos los requisitos previos, abra PyCharm y cree un nuevo proyecto Python. Configure un entorno virtual para su proyecto con el fin de gestionar eficazmente las dependencias.

  1. Haga clic en Archivo > Nuevo Proyecto.

  2. En la ventana "Nuevo proyecto":

    • Introduzca un nombre para su proyecto en el campo "Ubicación".

    • Elija la ubicación en la que desea guardar los archivos del proyecto.
  3. En "Intérprete del proyecto", seleccione el intérprete de Python. Detectará automáticamente el intérprete de Python si ha instalado Python.

  4. Elija el tipo de proyecto. Para un proyecto simple de Python, puedes seguir con la configuración por defecto.

    ![Cómo crear archivos PDF con texto e imágenes en Python: Figura 2 - Abra el IDE de PyCharm. Vaya al menú Archivo - haga clic en Nuevo Proyecto. Introduzca el nombre y la ubicación de su proyecto Python. A continuación, seleccione el intérprete de Python en "Project Interpreter". Haga clic en el botón "Crear" para crear el proyecto. Una vez que se ha creado el proyecto de Python, abre un nuevo archivo python y úsalo para escribir código para generar archivos PDF usando IronPDF.

  5. Haga clic en Crear para crear el proyecto.

  6. Abre un nuevo archivo de Python y guárdalo para escribir código que genere archivos PDF usando la biblioteca de Python - IronPDF.

Instalar IronPDF for Python usando PIP

Para instalar IronPDF, utilice el siguiente comando PIP en el terminal o símbolo del sistema de su proyecto:

 pip install ironpdf

Este comando descargará e instalará automáticamente la biblioteca IronPDF junto con sus dependencias.

Cómo Crear Archivos PDF con Texto e Imágenes en Python: Figura 3 - Para instalar IronPDF, utiliza el siguiente comando en la terminal de tu proyecto o en el símbolo del sistema: pip install ironpdf

Crear un PDF sencillo con texto e imágenes

Veamos los pasos para crear un documento de una sola página PDF que incluya texto e imagen utilizando IronPDF:

Paso 1: Importar IronPDF

En este paso, importamos todos los módulos necesarios de IronPDF. Importamos ChromePdfRenderer para renderizar PDFs y base64 para codificar datos de imágenes.

from ironpdf import ChromePdfRenderer
import base64
py
PYTHON

Paso 2: Instanciar ChromePdfRenderer

Aquí, crearemos una instancia de ChromePdfRenderer, que se utilizará para renderizar el contenido HTML en un PDF.

# Instantiate Renderer
renderer = ChromePdfRenderer()
py
PYTHON

Paso 3: Añadir contenido de texto

En este paso, definiremos una cadena HTML (html_content) que incluye la estructura del documento HTML, incluyendo el encabezado, cuerpo y una sección con contenido de texto que más tarde se convertirá en un solo archivo PDF. Se utiliza CSS para posicionar el texto y la imagen.

# HTML String with Text 
html_content = """
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PDF Generation Example</title>
    <style>
        body {
            margin: 0; /* Remove default margin */
            padding: 20px; /* Add padding for better visibility */
            position: relative; /* Set the body as a relative position */
        }
        header {
            text-align: center;
        }
        section {
            margin-top: 20px; /* Add margin to separate sections */
        }
        img {
            position: absolute;
            top: 20px; /* Adjust the top position */
            right: 20px; /* Adjust the right position */
        }
    </style>
</head>
<body>
    <header>
        <h1>PDF Generation Example</h1>
    </header>
    <section id="contentSection">
        <h2>Text and Image in PDF</h2>
        <p>This PDF includes both text and an embedded image:</p>
        <p>IronPDF developed by Ironsoftware is a great PDF creating library for .NET, Python, JAVA, Node.JS.</p>
"""
py
PYTHON

Paso 4: Añadir imagen

Aquí, abriremos y leeremos un archivo de imagen (ironpdf-logo.png) en modo binario, lo convertiremos a un URI de datos codificado en base64 y lo incrustaremos en la cadena HTML. A continuación, la imagen se coloca mediante estilos CSS para que aparezca en la esquina superior derecha.

with open("ironpdf-logo.png", "rb") as f:
    pngBinaryData = f.read()
    imgDataUri = "data:image/png;base64," + base64.b64encode(pngBinaryData).decode("utf-8")
    imgHtml = f"""<!-- Embedded Image -->
        <img src='{imgDataUri}' width=100px height=100px
            alt="IronPDF Logo">
    </section>
</body>
</html>
"""
py
PYTHON

Paso 5: Unir cadena HTML de texto e imagen

Este paso concatena las cadenas HTML de texto e imagen para crear el contenido HTML completo (full_html_content) que se convertirá en un archivo de salida PDF.

full_html_content = html_content + imgHtml
py
PYTHON

Paso 6: Convertir el contenido HTML en un archivo PDF

Aquí, se utiliza el método RenderHtmlAsPdf para convertir el HTML a PDF usando el ChromePdfRenderer.

# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
py
PYTHON

Paso 5: Guardar archivo PDF

Finalmente, el PDF resultante se guarda como "output_with_text_and_image_top_right.pdf". Este archivo contendrá el texto formateado y la imagen incrustada situada en la esquina superior derecha.

# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")
py
PYTHON

Documento PDF de salida

Ahora, después de ejecutar el programa, el archivo PDF de salida es el siguiente:

Cómo crear archivos PDF con texto e imágenes en Python: Figura 4 - SALIDA: output_with_text_and_image_top_right.pdf

Del mismo modo, se pueden añadir varias páginas PDF a un archivo PDF con facilidad.

Uso avanzado: Personalización de la colocación de textos e imágenes

IronPDF proporciona funciones adicionales para ajustar con precisión la colocación y el estilo del texto y las imágenes dentro del PDF utilizando un archivo CSS/JavaScript externo. La ruta base puede enviarse como argumento opcional al método RenderHtmlAsPdf, como se muestra en el siguiente código:

# Advanced Example with HTML Assets
# Load external html assets: Images, CSS and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
py
PYTHON

En este ejemplo de código avanzado, llevamos más allá el concepto de incrustar una imagen a través de fuentes externas. El contenido HTML dentro del método RenderHtmlAsPdf incluye una etiqueta  related to Uso avanzado: Personalización de la colocación de textos e imágenesque apunta a un archivo de imagen (iron.png) ubicado en el directorio de recursos especificado (C:\site\assets\). Además, este directorio se establece como el parámetro BasePath.

En RenderHtmlAsPdf puedes enviar una página web HTML completa como se muestra en los pasos anteriores. Se puede hacer referencia al archivo CSS utilizando la ruta base como segundo parámetro opcional. Para obtener información más detallada sobre otras formas de generar el formato PDF o modificar un archivo PDF existente, por favor visite la página de ejemplos de código y documentación.

Conclusión

En este artículo, exploramos cómo usar IronPDF para crear archivos PDF con texto e imágenes en un proyecto de Python. Con su intuitiva API y sus potentes funciones, IronPDF permite a los desarrolladores generar documentos PDF dinámicos y visualmente atractivos sin esfuerzo. Tanto si está creando informes, documentación o cualquier otro tipo de contenido, IronPDF proporciona una solución fiable y flexible para la generación de PDF en Python. Experimente con las opciones de personalización para adaptar sus PDF a requisitos de diseño específicos, lo que convierte a IronPDF en una valiosa herramienta para sus necesidades de generación de documentos.

IronPDF licencia o puedes contactar con soporte para más consultas.

Cómo crear archivos PDF con texto e imágenes en Python: Figura 5 - Información de la licencia de IronPDF for Python

Puedes descargar e instalar la biblioteca desde el sitio web de IronPDF.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
Cómo generar un archivo PDF en Python
SIGUIENTE >
Cómo añadir números de página a un PDF en Python

¿Listo para empezar? Versión: 2025.5 acaba de salir

Ver licencias >