Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
PDF (Formato de documento portátil) es el formato de archivo digital más popular para enviar y recibir datos en línea. Se utiliza principalmente para conservar el formato de los datos y protegerlos con una contraseña cifrada. La extensión .pdf es independiente de la aplicación informática, el hardware o el sistema operativo.
En este artículo, vamos a crear un archivo PDF en el lenguaje de programación Python. Hay un montón de opciones en línea disponibles, pero aquí vamos a utilizar una biblioteca de Python para crear archivos PDF. A continuación se muestran dos famosas librerías para generar documentos PDF con una o múltiples páginas en Python:
Laboratorio de informes
PDFKit
A partir de las bibliotecas PDF python mencionadas, podemos utilizar cualquiera para generar PDFs.
Veamos las dos bibliotecas una por una.
Laboratorio de informes es un conjunto de herramientas PDF gratuitas y de código abierto con las que se pueden crear fácilmente archivos PDF. Proporciona un montón de herramientas de dibujo para añadir imágenes y texto en una posición determinada en varias páginas. También puede crear archivos PDF encriptados utilizando el método encryptCanvas
.
Para instalar Reportlab, es necesario el gestor de paquetes pip. Descarga e instala automáticamente el paquete de solicitud mediante el comando pip. Simplemente escriba el siguiente comando en Windows cmd o PowerShell:
pip3 install reportlab
Nota: Al instalar Python, debe añadirse a la variable de entorno path para poder ejecutar el comando anterior desde cualquier lugar en cmd o PowerShell. Se recomienda utilizar Pip3 para python 3+, ya que es la versión actualizada.
Para utilizar la biblioteca Reportlab, tenemos que escribir el código en un archivo python y ejecutarlo para crear archivos PDF.
Busque y abra el intérprete de comandos IDLE por defecto de Python en la barra de búsqueda de Windows y pulse Ctrl + N o seleccione "Nuevo archivo" en la pestaña Archivo. Esto abrirá el editor de texto para escribir el código.
A continuación, guarde el archivo con el nombre adecuado. Lo voy a llamar "createpdf.py ". El archivo tiene este aspecto:
El siguiente código dibujará los elementos del documento y generará el PDF en cuestión de segundos:
# importing modules
from reportlab.pdfgen import canvas
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics
from reportlab.lib import colors
# initializing variables with values
fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'
# creating a pdf object
pdf = canvas.Canvas(fileName)
# setting the title of the document
pdf.setTitle(documentTitle)
# creating the title by setting it's font
# and putting it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)
# creating the subtitle by setting it's font,
# colour and putting it on the canvas
pdf.setFillColorRGB(0, 0, 255)
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)
# saving the pdf
pdf.save()
El PDF generado es el siguiente:
Después de importar todos los módulos y paquetes, primero inicializamos todo el contenido que se escribirá en un archivo PDF.
fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'
Ahora, establecemos el nombre del lienzo, el título del documento, un título centrado y un subtítulo con las fuentes y el tamaño adecuados.
# creating a pdf object
pdf = canvas.Canvas(fileName)
# setting the title of the document
pdf.setTitle(documentTitle)
# creating the title by setting it's font
# and putting it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)
# creating the subtitle by setting it's font,
# colour and putting it on the canvas
pdf.setFillColorRGB(0, 0, 255)
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)
Por último, guardamos el archivo PDF cuando todo esté dibujado en el lienzo.
# saving the pdf
pdf.save()
También podemos usar los métodos drawString
y drawText
para crear un simple archivo PDF usando Reportlab en python.
PDFKit es uno de los mejores métodos para crear archivos PDF en python. Puede crear archivos PDF utilizando código HTML. Puede convertir archivos HTML simples y complejos o HTML de URL en una página PDF imprimible perfecta en píxeles. Sin embargo, PDFKit integra las funciones de wkhtmltopdf para convertir HTML a PDF. Para instalar wkhtmltopdf para Windows, Linux y mac, visite este enlace enlace.
Nota: En el sistema operativo Windows, wkhtmltopdf se instalará en los archivos de programa.
Utilice el siguiente comando para instalar PDFKit:
pip3 install pdfkit
Crear archivos PDF con PDFKit es muy sencillo y un proceso de una sola línea.
import pdfkit
pdfkit.from_url('http://google.com', 'out.pdf')
import pdfkit
pdfkit.from_file('index.html', 'out.pdf')
Puede pasar plantillas HTML como cadena para convertirlas a PDF como archivo de salida.
html_string = """
<html>
<head>
<meta name="pdfkit-page-size" content="Legal"/>
<meta name="pdfkit-orientation" content="Landscape"/>
</head>
Hello World!
</html>
"""
pdfkit.from_string(html_string, 'out.pdf')
PDFKit permite crear fácilmente archivos PDF en python utilizando plantillas HTML.
IronPDF es una herramienta útil para crear archivos PDF en proyectos .NET. Un uso común de esta biblioteca es el renderizado "HTML a PDF", en el que HTML se utiliza como lenguaje de diseño para renderizar un documento PDF.
IronPDF utiliza un motor .NET Chromium para convertir páginas HTML en archivos PDF. Con la conversión de HTML a PDF, no es necesario utilizar API complejas para posicionar o diseñar PDF. IronPDF también es compatible con todas las tecnologías estándar de páginas web: HTML, ASPX, JS, CSS e imágenes.
También permite crear una biblioteca PDF .NET utilizando HTML 5, CSS, JavaScript e imágenes. Puede editar, sellar y añadir encabezados y pies de página a un PDF sin esfuerzo. Además, facilita mucho la lectura de texto en PDF y la extracción de imágenes.
Para empezar a utilizar IronPDF, debe instalar el paquete NuGet:
pip install ironpdf
El siguiente ejemplo le ayuda a crear PDF directamente desde una URL:
from ironpdf import *
# 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")
El siguiente código le ayudará a crear un archivo PDF a partir de código HTML junto con cualquier CSS o JavaScript:
from ironpdf import *
# Instantiate Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
# Export to a file or Stream
pdf.SaveAs("output.pdf")
# 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")
Puedes ver en el código anterior que es bastante simple y limpio. Se necesitan muy pocas líneas de código para crear un archivo PDF a partir de código HTML. Es una solución rápida, fiable, que ahorra tiempo y ofrece resultados precisos.
Descargue IronPDF y pruébelo para gratis. Después del periodo de prueba, la licencia comienza en $749.
9 productos API .NET para sus documentos de oficina