Python Crear Archivos PDF

Cómo crear archivos PDF en Python

This article was translated from English: Does it need improvement?
Translated
View the article in English

Automatizar la creación de documentos PDF usando Python permite a los desarrolladores generar PDFs como parte de sus aplicaciones. Esta capacidad resulta beneficiosa en varios escenarios, incluida la generación de facturas, informes u otros tipos de PDFs según sea necesario.

Esta Guía Cómo Hacer se centra en utilizar IronPDF para crear archivos PDF de manera programática dentro de scripts de Python.

Librería PDF Python: IronPDF

IronPDF es una potente biblioteca de Python específicamente diseñada para crear documentos PDF desde HTML. Sus APIs fáciles de usar facilitan la generación y personalización de PDFs con varias funciones, incluyendo:

  1. Añadir texto, imágenes y otros tipos de contenido
  2. Elegir fuentes, colores y controlar el diseño y formato del documento.

IronPDF puede integrarse perfectamente en aplicaciones .NET, Java, y Python, permitiendo una generación versátil de PDFs en múltiples plataformas.

Además de sus potentes capacidades de generación de PDFs, IronPDF ofrece una amplia gama de características. Estas incluyen la conversión de formatos de archivo, la extracción eficiente de texto y datos de PDFs, y la capacidad de asegurar PDFs mediante cifrado con contraseña.

Pasos para crear un documento PDF en un script de Python

Prerrequisitos

Para utilizar IronPDF para Python, asegúrese de que el ordenador tiene el siguiente software previo instalado:

  1. .NET 6.0 SDK: Para usar IronPDF para Python, necesitas tener instalado el SDK de .NET 6.0 en tu máquina ya que depende de la biblioteca IronPDF for .NET. Descarga el SDK de .NET 6.0 desde el sitio web oficial de Microsoft.
  2. Python: Descarga e instala la última versión de Python 3.x desde el sitio web oficial de Python: https://www.python.org/downloads/. Durante el proceso de instalación, asegúrese de seleccionar la opción para añadir Python al sistema PATH, lo que lo hará accesible desde la línea de comandos.

  3. Pip: Pip generalmente viene incluido con la instalación de Python a partir de Python 3.4 en adelante. Sin embargo, dependiendo de su instalación de Python, puede necesitar verificar si pip ya está instalado o instalarlo por separado.
  4. Biblioteca IronPDF: La biblioteca IronPDF se puede instalar usando pip. Usa el siguiente comando para instalar IronPDF usando pip:
 pip install ironpdf

Por favor notaEn algunos sistemas, Python 2.x todavía puede ser la versión predeterminada. En tales casos, es posible que tenga que utilizar explícitamente el comando pip3 en lugar de pip para asegurarse de que está utilizando Pip para Python 3.

Pasos importantes antes de escribir código

Primero, agrega la declaración a continuación en la parte superior del script de Python.

# Import statement for IronPDF for Python
from ironpdf import *
# Import statement for IronPDF for Python
from ironpdf import *
PYTHON

Luego, configura IronPDF con una clave de licencia válida asignando la clave de licencia al atributo LicenseKey de License (antes de cualquier otra línea de código).

# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
PYTHON

Por favor notaPara crear PDF sin marcas de agua, necesitará una clave de licencia válida. Purchase a license key or obtain a free trial license key. De lo contrario, continúe con el siguiente paso para generar nuevos documentos PDF gratis con marcas de agua.

Convertir cadena HTML en documento PDF

Usa el método RenderHtmlAsPdf para generar un nuevo documento PDF desde una cadena HTML.

Solo proporciona el marcado HTML como parámetro para el método RenderHtmlAsPdf. IronPDF realizará la conversión, resultando en una instancia de PdfDocument.

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
PYTHON

Una vez que la cadena HTML se haya convertido correctamente en un documento PDF, utiliza el método SaveAs para guardar el PDF en una ruta en el sistema local:

# Export to a file or Stream
pdf.SaveAs("htmlstring_to_pdf.pdf")
# Export to a file or Stream
pdf.SaveAs("htmlstring_to_pdf.pdf")
PYTHON

Se creará un archivo PDF llamado "htmlstring_to_pdf.pdf", conservando el contenido de la cadena HTML original.

Generar PDF a partir de un archivo HTML en Python

Para generar un documento PDF desde un archivo HTML almacenado localmente en Python, sigue el código proporcionado a continuación:

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("example.html")

# Export to a file or Stream
pdf.SaveAs("htmlfile_to_pdf.pdf")
# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("example.html")

# Export to a file or Stream
pdf.SaveAs("htmlfile_to_pdf.pdf")
PYTHON

En el fragmento de código anterior, se utiliza el método RenderHtmlFileAsPdf para crear un documento PDF desde un archivo HTML. Necesitas proporcionar una cadena o ruta que especifique la ubicación del archivo HTML en el sistema de archivos.

IronPDF representa los elementos HTML, incluidas las CSS y JavaScript asociados, como lo haría un navegador web. Esto asegura una representación precisa del contenido en el PDF resultante.

Finalmente, usa el método SaveAs para guardar el PDF generado en una ubicación específica en tu sistema, similar al ejemplo anterior.

Crear PDF desde URL en Python

Para crear un documento PDF desde una página web en Python, utiliza el método RenderUrlAsPdf. Simplemente proporciona la URL de la página web deseada como argumento para el método, como se ilustra en el fragmento de código a continuación:

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")

# Export to a file or Stream
pdf.SaveAs("url.pdf")
# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")

# Export to a file or Stream
pdf.SaveAs("url.pdf")
PYTHON

Más información sobre la conversión de páginas web a PDFs está disponible en la página del Ejemplo de código de URL a PDF.

Explorando las opciones de formato PDF

Para personalizar el formato de tus archivos PDF, puedes utilizar el atributo RenderingOptions. Esta clase proporciona varias configuraciones configurables para lograr el diseño y aspecto deseado de tus documentos PDF. Algunas de las configuraciones que puedes modificar incluyen la orientación de la página, el tamaño de página, el tamaño de margen y más. Establece los atributos disponibles en RenderingOptions para generar documentos PDF con las configuraciones deseadas. Consulta este Ejemplo de código para obtener más información sobre cómo usar RenderingOptions.

Asegurar archivos PDF con contraseñas

Para añadir protección con contraseña a los archivos PDF, puedes utilizar el atributo SecuritySettings del objeto PdfDocument. Comienza accediendo al atributo SecuritySettings y asigna una contraseña al atributo UserPassword, especificado como una cadena.

Por ejemplo, consideremos proteger el documento PDF creado en el ejemplo "URL a PDF":

# Set user password for PDF document security
pdf.SecuritySettings.UserPassword = "sharable"

# Save the password-protected PDF
pdf.SaveAs("protected.pdf")
# Set user password for PDF document security
pdf.SecuritySettings.UserPassword = "sharable"

# Save the password-protected PDF
pdf.SaveAs("protected.pdf")
PYTHON

El archivo PDF se ha protegido con éxito mediante contraseña. Al intentar abrir el archivo, se mostrará un mensaje de solicitud de contraseña. Simplemente ingresa la contraseña correcta para acceder al contenido del archivo PDF.

Lee más información sobre configuraciones de seguridad y metadatos adicionales.

Código fuente completo

El archivo fuente completo de este tutorial está incluido a continuación:

# Import statement for IronPDF for Python
from ironpdf import *

# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
# Export to a file or Stream
pdf.SaveAs("htmlstring_to_pdf.pdf")

# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("example.html")
# Export to a file or Stream
pdf.SaveAs("htmlfile_to_pdf.pdf")

# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Export to a file or Stream
pdf.SaveAs("url.pdf")

# Set user password for PDF document security
pdf.SecuritySettings.UserPassword = "sharable"
# Save the password-protected PDF
pdf.SaveAs("protected.pdf")
# Import statement for IronPDF for Python
from ironpdf import *

# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
# Export to a file or Stream
pdf.SaveAs("htmlstring_to_pdf.pdf")

# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from an existing HTML file using Python
pdf = renderer.RenderHtmlFileAsPdf("example.html")
# Export to a file or Stream
pdf.SaveAs("htmlfile_to_pdf.pdf")

# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a URL or local file path
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Export to a file or Stream
pdf.SaveAs("url.pdf")

# Set user password for PDF document security
pdf.SecuritySettings.UserPassword = "sharable"
# Save the password-protected PDF
pdf.SaveAs("protected.pdf")
PYTHON

IronPDF representa con precisión todas las imágenes y el texto mientras conserva su formato. Los elementos interactivos como los botones siguen siendo clicables, y los cuadros de texto mantienen su editabilidad dentro del archivo PDF generado.

Resumen

En esta Guía Cómo Hacer, exploramos el proceso de creación de PDFs en Python usando la biblioteca IronPDF. Con IronPDF, los desarrolladores pueden generar y manipular documentos PDF sin esfuerzo.

La biblioteca ofrece una API fácil de usar que simplifica la creación de PDFs desde diversas fuentes, incluidos archivos HTML, documentos XML, URLs y más. Ya sea que estés trabajando en la generación de informes, facturas u otro tipo de documentos, IronPDF proporciona las herramientas necesarias para realizar la tarea de manera eficiente.

IronPDF es una biblioteca comercial y requiere una licencia válida. Tiene una licencia comercial que comienza desde $799. Para evaluar sus capacidades en un entorno de producción, puedes aprovechar la prueba gratuita.

Descarga el producto de software.

Preguntas Frecuentes

¿Cómo puedo crear archivos PDF desde HTML usando una librería de Python?

Puedes usar el método RenderHtmlAsPdf de la biblioteca IronPDF para convertir cadenas HTML en documentos PDF. Este método permite la transformación de contenido HTML en PDFs de alta calidad de manera eficiente.

¿Cuáles son los pasos para generar un PDF desde un archivo HTML local en Python?

Con IronPDF, puedes usar el método RenderHtmlFileAsPdf para convertir un archivo HTML local en un PDF. Simplemente proporciona la ruta a tu archivo HTML como argumento para generar el PDF.

¿Se puede usar IronPDF para convertir páginas web en documentos PDF en Python?

Sí, IronPDF te permite crear documentos PDF desde páginas web usando el método RenderUrlAsPdf. Introduce la URL de la página web que deseas convertir, e IronPDF generará el PDF correspondiente.

¿Cuáles son los requisitos previos para usar IronPDF en Python?

Para usar IronPDF, asegúrate de tener instalado el SDK de .NET 6.0, Python 3.x y pip en tu máquina. IronPDF se integra con .NET para sus capacidades de generación de PDF.

¿Cómo personalizo el diseño y apariencia de los PDFs usando IronPDF?

IronPDF proporciona un atributo RenderingOptions que te permite personalizar el diseño y apariencia de los documentos PDF, incluyendo opciones para el tamaño de la página, la orientación y el tamaño del margen.

¿Es posible asegurar documentos PDF con contraseñas usando IronPDF?

Sí, IronPDF te permite asegurar los PDFs estableciendo una contraseña. Accede al atributo SecuritySettings del objeto PdfDocument y establece el UserPassword para proteger tu PDF.

¿Necesito una licencia para usar IronPDF en proyectos de Python?

IronPDF es una biblioteca comercial que requiere una clave de licencia válida. Hay una prueba gratuita disponible para propósitos de evaluación, pero se necesita una licencia comprada para eliminar marcas de agua de los PDFs generados.

¿Dónde puedo encontrar más documentación y ejemplos para usar IronPDF?

Ejemplos detallados y documentación completa para IronPDF se pueden encontrar en el sitio web oficial de IronPDF, que incluye guías y fragmentos de código para ayudar a usar la biblioteca de manera efectiva.

¿Cómo puedo instalar IronPDF para crear PDFs en Python?

IronPDF se puede instalar a través de pip, el gestor de paquetes de Python, usando el comando pip install ironpdf.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Version: 2025.9 recién lanzado