Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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. Disponer de una biblioteca versátil paracrear archivos PDF con texto e imágenes en Python puede ser muy útil para la generación automática de informes, recibos o facturas. IronPDFuna versátil biblioteca de Python, simplifica el proceso de creación de PDF con contenido enriquecido.
En este artículo, exploraremos cómo utilizar IronPDF para generar PDFs que incluyan tanto texto como imágenes en un proyecto Python.
Instalar la biblioteca IronPDF for Python
Instanciar ChromePdfRenderer
Añadir contenido de texto
Añadir imagen como dato binario
Crear cadenas HTML con texto e imágenes
Convertir HTML en PDF con RenderHtmlAsPdf
IronPDF es una biblioteca de Python repleta de funciones que proporciona a los desarrolladores potentes herramientas paracreandomanipular 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.
Características principales de IronPDF:
Antes de sumergirse en el proceso de creación de documentos PDF con IronPDF, asegúrese de que dispone de los siguientes requisitos previos:
Python debe estar instalado en su ordenador. Puede descargar e instalar la última versión desde el sitio web oficial de Python([https://www.python.org/**](https://www.python.org/)).
PyCharm IDE: Utiliza PyCharm o cualquier otro IDE de Python de tu elección.PyCharm es un popular entorno de desarrollo integrado que proporciona un cómodo espacio de trabajo para el desarrollo de Python.
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.
Haga clic en Archivo > Nuevo proyecto.
En la ventana "Nuevo proyecto":
Introduzca un nombre para su proyecto en el campo "Ubicación".
En "Intérprete del proyecto", seleccione el intérprete de Python. Detectará automáticamente el intérprete de Python si ha instalado Python.
Elija el tipo de proyecto. Para un proyecto simple de Python, puedes seguir con la configuración por defecto.
Haga clic en Crear para crear el proyecto.
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.
Veamos los pasos para crear un documento de una sola página PDF que incluya texto e imagen utilizando IronPDF:
En este paso, importamos todos los módulos necesarios de IronPDF. Importamos ChromePdfRenderer para renderizar PDFs y base64 para codificar datos de imagen.
from ironpdf import ChromePdfRenderer
import base64
Aquí crearemos una instancia del ChromePdfRenderer, que se utilizará para convertir el contenido HTML en un PDF.
# Instantiate Renderer
renderer = ChromePdfRenderer()
En este paso, definiremos una cadena HTML(html_content) que incluye la estructura del documento HTML, incluido el encabezado, el cuerpo y una sección con contenido de texto convertida posteriormente en un único archivo PDF. El estilo CSS se utiliza para colocar 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>
"""
Aquí abriremos y leeremos un archivo de imagen(ironpdf-logo.png) en modo binario, convertirlo en un URI de datos codificado en base64 e incrustarlo 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>
"""
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 PDF de salida.
full_html_content = html_content + imgHtml
En este caso, se utiliza el método RenderHtmlAsPdf para convertir el archivoDe HTML a PDF utilizando el ChromePdfRenderer.
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)
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")
Ahora, después de ejecutar el programa, el archivo PDF de salida es el siguiente:
Del mismo modo, se pueden añadir varias páginas PDF a un archivo PDF con facilidad.
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")
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 un código .etiqueta que apunta a un archivo de imagen (iron.png) situado en el directorio de activos especificado(C:sito\assets\). Además, este directorio se establece como el parámetro BasePath.
En RenderHtmlAsPdf puede 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, visite la páginaejemplos de código ydocumentación página.
En este artículo, exploramos cómo utilizarIronPDF para crear archivos PDF con texto e imágenes en un proyecto 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.
IronPDFlicencia o puedecontacto de asistencia para cualquier consulta.
Puede descargar e instalar la biblioteca desde la página de IronPDFsitio web.
9 productos API .NET para sus documentos de oficina