Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
PDFs (Formato de Documento Portátil) son un formato de archivo ampliamente utilizado para preservar el diseño y la formateo de la información del documento a través de diferentes plataformas. Son muy populares en diversos sectores debido a su capacidad para mantener un aspecto uniforme independientemente del dispositivo o sistema operativo utilizado para abrirlos. Los PDF se utilizan habitualmente para compartir informes, facturas, formularios, libros electrónicos, datos personalizados y otros documentos importantes.
Trabajar con archivos PDF en Python se ha convertido en un aspecto crucial de muchos proyectos. Python ofrece varias bibliotecas que simplifican la manipulación de archivos PDF, facilitando la extracción de información, la creación de nuevos documentos, la fusión o división de los existentes y la realización de otras tareas relacionadas con PDF.
En este artículo, llevaremos a cabo una comparación exhaustiva de dos famosas bibliotecas de Python diseñadas para manipular archivos PDF: PyPDF e IronPDF. Al evaluar las características y capacidades de ambas bibliotecas, pretendemos ofrecer a los desarrolladores información valiosa que les ayude a tomar una decisión consciente sobre cuál se adapta mejor a las necesidades específicas de su aplicación de software.
Estas bibliotecas ofrecen sólidas herramientas para agilizar el trabajo con archivos PDF, lo que permite a los desarrolladores manejar eficazmente documentos PDF en sus aplicaciones Python. Así pues, profundicemos en la comparación y exploremos los puntos fuertes de cada biblioteca para facilitar sus tareas relacionadas con PDF.
PyPDF es una biblioteca PDF pura de Python que proporciona funcionalidades básicas para leer, escribir, descifrar archivos PDF y manipular documentos PDF. Permite extraer texto e imágenes de archivos PDF, fusionar varios archivos PDF, dividir archivos PDF grandes en otros más pequeños y mucho más. PyPDF es conocido por su sencillez y facilidad de uso, lo que lo convierte en una opción adecuada para tareas sencillas con PDF.
Ofrece un completo conjunto de funciones para trabajar con documentos PDF, lo que lo convierte en una excelente opción para una amplia gama de tareas relacionadas con PDF.
PyPDF es una librería PDF de Python capaz de las siguientes características:
IronPDF es una biblioteca completa de manipulación de PDF para Python, construida sobre la biblioteca .NET de IronPDF. Ofrece una potente API con funciones avanzadas, como la conversión de HTML a PDF, la gestión de anotaciones PDF y campos de formulario, y la realización eficaz de operaciones PDF complejas. IronPDF es ideal para proyectos que requieren un procesamiento de PDF robusto, rendimiento y una amplia compatibilidad de funciones.
IronPDF es una biblioteca PDF de Python capaz de manejar tareas de procesamiento de PDF sin problemas. Proporciona una solución de manipulación de PDF fiable y repleta de funciones para los desarrolladores de Python. Con IronPDF, puede generar, modificar y extraer contenido de varias páginas de un PDF sin esfuerzo, lo que lo convierte en una excelente opción para diversas aplicaciones relacionadas con PDF.
Estas son algunas características destacadas de IronPDF:
Alto Rendimiento: Basado en la biblioteca .NET de IronPDF, IronPDF ofrece un alto rendimiento y eficiencia en el manejo de archivos PDF grandes y operaciones complejas.
El artículo dice ahora lo siguiente:
Crear un proyecto Python
Instalación de PyPDF
Instalación de IronPDF
Creación de documentos PDF
Fusionar archivos PDF
Dividir archivos PDF
Extraer texto de archivos PDF
Licencias
Usar un Entorno de Desarrollo Integrado (IDE) para proyectos de Python puede mejorar significativamente la productividad. Entre las opciones más populares, voy a utilizar PyCharm, ya que destaca por su completado inteligente de código, su potente depuración y su perfecta integración con los sistemas de control de versiones. Si no lo tienes instalado, puedes descargarlo desde el sitio web de JetBrains (https://www.jetbrains.com/pycharm/), o puedes utilizar cualquier IDE/editor de texto para programas Python como VS Code.
Para crear un proyecto Python en PyCharm:
Inicia PyCharm y haz clic en "Create New Project" en la pantalla de bienvenida de PyCharm, o ve a File > New Project en el menú.
Elija el intérprete de Python. Si no has configurado un intérprete, haz clic en el icono del engranaje y configura uno nuevo.
Seleccione la ubicación del proyecto y la plantilla.
Proporcione el nombre del proyecto y la configuración, luego haga clic en Create.
PyPDF, biblioteca Python pura, puede instalarse de múltiples maneras. Podemos instalarlo usando tanto Command Prompt como PyCharm.
Abra el símbolo del sistema o el terminal de su ordenador.
:ProductInstall
:ProductInstall
Espere a que finalice la instalación de PyPDF. Debería ver un mensaje de éxito indicando que PyPDF ha sido instalado.
Puede utilizar el mismo proceso para instalar PyPDF en PyCharm Terminal.
Nota: Python debe añadirse a la variable de entorno PATH del sistema.
Abra PyCharm IDE.
Crea un nuevo proyecto Python o abre uno ya existente.
Una vez dentro del proyecto, haz clic en Archivo en el menú superior y selecciona Configuración.
En la ventana de configuración, navega a "Project:
En la ventana del intérprete de Python, haga clic en el icono "+" para añadir un nuevo paquete.
En la ventana "Paquetes Disponibles", busque "PyPDF".
Seleccione "PyPDF" de la lista y haga clic en el botón "Instalar paquete".
IronPDF Python aprovecha la potente tecnología .NET 6.0 como base. Por consiguiente, para utilizar IronPDF Python con eficacia, es esencial tener instalado en su sistema el tiempo de ejecución .NET 6.0. Es posible que los usuarios de Linux y Mac necesiten descargar e instalar .NET desde el sitio web oficial de Microsoft (https://dotnet.microsoft.com/en-us/download/dotnet/6.0) antes de proceder a trabajar con este paquete de Python. Garantizar la presencia del tiempo de ejecución .NET 6.0 permitirá una integración perfecta y un rendimiento óptimo al utilizar IronPDF Python para tareas de procesamiento de PDF.
Abra el símbolo del sistema o el terminal de su ordenador.
:PackageInstall
:PackageInstall
Abra PyCharm IDE en su ordenador.
Crea un nuevo proyecto Python o abre uno ya existente.
Una vez dentro del proyecto, haga clic en "Archivo" en el menú superior y seleccione "Configuración".
En la ventana de configuración, navega a "Proyecto:
En la ventana del intérprete de Python, haga clic en el icono "+" para añadir un nuevo paquete.
Desde la ventana "Paquetes Disponibles", busca "ironpdf
".
Seleccione "ironpdf
" de la lista y haga clic en el botón "Instalar paquete".
Espere a que IronPDF se descargue e instale. Aparecerá un mensaje de éxito indicando que IronPDF está instalado.
Ahora, ambas bibliotecas están instaladas y listas para ser utilizadas. Pasemos a la comparación propiamente dicha.
PyPDF proporciona capacidades básicas para crear nuevos archivos PDF. Sin embargo, no dispone de un método integrado para convertir directamente contenidos HTML a PDF. Para crear un nuevo PDF con PyPDF, tenemos que añadir contenido a un PDF existente o crear un nuevo PDF en blanco y luego añadirle texto o imágenes. El siguiente código ayuda a realizar esta tarea de crear archivos PDF:
from pypdf import PdfWriter, PdfReader
# Create a new PDF file
pdf_output = PdfWriter()
# Add a new blank page
page = pdf_output.add_blank_page(width=610, height=842) # Width and height are in points (1 inch = 72 points)
# Read content from an existing PDF
with open('input.pdf', 'rb') as existing_pdf:
existing_pdf_reader = PdfReader(existing_pdf)
# Merge content from the first page of the existing PDF
page.merge_page(existing_pdf_reader.pages [0])
# Save the new PDF to a file
with open('output.pdf', 'wb') as output_file:
pdf_output.write(output_file)
py
El archivo de entrada contiene 28 páginas y sólo se añade la primera página al nuevo archivo PDF. El resultado es el siguiente:
IronPDF ofrece funciones avanzadas para crear nuevos archivos PDF directamente a partir de contenido HTML. Esto permite generar informes y documentos dinámicos sin necesidad de pasos adicionales. Este es el código de ejemplo:
import ironpdf
ironpdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This PDF is created using IronPDF for Python</p>")
# 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'>", "C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
py
En el código anterior, primero aplicamos la clave de licencia para utilizar toda la potencia de IronPDF. También puede utilizarlo sin clave de licencia, pero aparecerán marcas de agua en los archivos PDF creados. A continuación, creamos dos documentos PDF, el primero utilizando una cadena HTML como contenido y el segundo utilizando activos. El resultado es el siguiente:
Una comparación entre IronPDF para Python y PyPDF: Figura 7 - Salida de IronPDF
PyPDF permite fusionar varias páginas/documentos en un único PDF añadiendo páginas de un PDF a otro. Añada las rutas de entrada de todos los archivos PDF de la lista y utilice el método append para combinar y generar un único archivo.
from pypdf import PdfWriter
merger = PdfWriter()
for pdf in ["file1.pdf", "file2.pdf", "file3.pdf"]:
merger.append(pdf)
merger.write("merged-pdf.pdf")
merger.close()
py
IronPDF también ofrece funciones similares para fusionar documentos en uno solo, lo que facilita la consolidación de contenidos de distintas fuentes de PDF.
import ironpdf
ironpdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
html_a = """<p> [PDF_A] </p>
<p> [PDF_A] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_A] 2nd Page</p>"""
html_b = """<p> [PDF_B] </p>
<p> [PDF_B] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_B] 2nd Page</p>"""
renderer = ironpdf.ChromePdfRenderer()
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b)
merged.SaveAs("Merged.pdf")
py
PyPDF es una biblioteca de Python capaz de dividir un único PDF en varios PDF independientes, cada uno de los cuales contendrá una o más páginas PDF.
from pypdf import PdfReader, PdfWriter
# Open the PDF file
pdf_file = open('input.pdf', 'rb')
# Create a PdfFileReader object
pdf_reader = PdfReader(pdf_file)
# Split each page into separate PDFs
for page_num in range(len(pdf_reader.pages)):
pdf_writer = PdfWriter()
pdf_writer.add_page(pdf_reader.pages [page_num])
output_filename = f'page_{page_num + 1}_pypdf.pdf'
with open(output_filename, 'wb') as output_file:
pdf_writer.write(output_file)
# Close the PDF file
pdf_file.close()
py
El código anterior divide el documento PDF de 28 páginas para separarlo en páginas individuales y guardarlas como 28 nuevos archivos PDF.
IronPDF también proporciona capacidades similares para dividir PDFs, permitiendo a los usuarios dividir un único PDF en varios archivos PDF, cada uno con una única página PDF. Nos permite dividir una página específica de un PDF con varias páginas. El siguiente código ayuda a dividir documentos en varios archivos:
import ironpdf
ironpdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
html = """<p> Hello Iron </p>
<p> This is 1st Page </p>
<div style='page-break-after: always;'></div>
<p> This is 2nd Page</p>
<div style='page-break-after: always;'></div>
<p> This is 3rd Page</p>"""
renderer = ironpdf.ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html)
# take the first page
page1doc = pdf.CopyPage(0)
page1doc.SaveAs("Split1.pdf")
# take the pages 2 & 3
page23doc = pdf.CopyPages(1, 2)
page23doc.SaveAs("Split2.pdf")
py
Para obtener información más detallada sobre IronPDF sobre cómo leer archivos PDF, rotar páginas PDF, recortar páginas, establecer contraseñas de propietario/usuario y otras opciones de seguridad, visite esta página de ejemplos de código de IronPDF para Python.
PyPDF proporciona un método sencillo para extraer texto de los PDF. Ofrece la clase PdfReader
, que permite a los usuarios leer el contenido de texto del PDF.
from pypdf import PdfReader
reader = PdfReader("input.pdf")
page = reader.pages [0]
print(page.extract_text())
py
IronPDF también admite la extracción de texto de PDFs utilizando la clase PdfDocument
. Proporciona un método llamado ExtractAllText
para obtener el contenido de texto del PDF. Sin embargo, la versión gratuita de IronPDF sólo extrae unos pocos caracteres del documento PDF. Para extraer el texto completo de los PDF, IronPDF necesita una licencia. Aquí está el ejemplo de código para extraer contenido de archivos PDF:
import ironpdf
ironpdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
# Load existing PDF document
pdf = ironpdf.PdfDocument.FromFile("input.pdf")
# Extract text from PDF document
all_text = pdf.ExtractAllText()
print(all_text)
py
Para obtener más información sobre la extracción de texto, visite este ejemplo de PDF a Texto en Python.
PyPDF se distribuye bajo la licencia MIT, que es una licencia de software de código abierto conocida por sus términos permisivos. La licencia MIT permite a los usuarios utilizar, modificar, distribuir y sublicenciar libremente la biblioteca PyPDF sin ninguna restricción. Los usuarios no están obligados a revelar el código fuente de sus aplicaciones que utilicen PyPDF, por lo que resulta adecuado tanto para proyectos personales como comerciales.
El texto completo de la Licencia MIT se incluye normalmente en el código fuente de PyPDF, y los usuarios pueden encontrarlo en el archivo "LICENSE" dentro de la distribución de la biblioteca. Además, el repositorio de GitHub de PyPDF (https://github.com/py-pdf/pypdf) sirve como la fuente principal para acceder a la última versión de la biblioteca y su información de licenciamiento asociada.
IronPDF es una biblioteca comercial y no es de código abierto. Lo desarrolla y distribuye Iron Software. El uso de IronPDF requiere una licencia válida de Iron Software. Hay diferentes tipos de licencias disponibles, incluidas versiones de prueba para fines de evaluación y licencias de pago para uso comercial.
Como IronPDF es un producto comercial, ofrece funciones y asistencia técnica adicionales en comparación con las alternativas de código abierto. Para obtener una licencia para IronPDF, los usuarios pueden visitar el sitio web oficial para explorar las opciones de licencia disponibles, los precios y los detalles de soporte. Su paquete Lite comienza desde $749 y es una licencia perpetua.
PyPDF es una biblioteca de Python potente y fácil de usar para trabajar con archivos PDF. Sus funciones de lectura, escritura, fusión y división de PDF lo convierten en una herramienta esencial para las tareas de manipulación de PDF. Tanto si necesita extraer texto de un PDF como crear nuevos PDF desde cero o combinar y dividir documentos existentes, PyPDF le ofrece una solución fiable y eficaz. Al aprovechar las capacidades de PyPDF, los desarrolladores de Python pueden agilizar sus flujos de trabajo relacionados con PDF y mejorar su productividad.
IronPDF es una biblioteca integral y eficiente para la manipulación de PDF en Python, que ofrece una amplia gama de características para leer, crear, fusionar y dividir archivos PDF. Tanto si necesita generar informes PDF dinámicos como extraer información de documentos PDF existentes o fusionar varios documentos, IronPDF le ofrece una solución fiable y fácil de usar. Al aprovechar las capacidades de IronPDF, los desarrolladores de Python pueden agilizar sus flujos de trabajo relacionados con PDF y mejorar su productividad.
En comparación general, PyPDF es una biblioteca ligera y fácil de usar adecuada para operaciones básicas con PDF. Es una buena opción para proyectos con requisitos de PDF sencillos. Por otro lado, IronPDF ofrece una API más amplia y un rendimiento sólido, lo que lo hace ideal para proyectos que exigen capacidades avanzadas de procesamiento de PDF, manejo de archivos PDF de gran tamaño y realización de tareas complejas.
Ambas bibliotecas ofrecen buenas posibilidades de codificación para las tareas habituales en PDF. PyPDF es adecuado para operaciones sencillas e implementaciones rápidas, mientras que IronPDF proporciona una API más amplia y versátil para manejar tareas complejas relacionadas con PDF.
En términos de rendimiento, es probable que IronPDF supere a PyPDF, especialmente cuando se trata de archivos PDF de gran tamaño o de tareas que requieren complejas manipulaciones de PDF.
La elección entre las dos bibliotecas depende de las necesidades específicas del proyecto y de la complejidad de las tareas relacionadas con PDF.
IronPDF también está disponible para una prueba gratuita para probar su funcionalidad completa en modo comercial. Descargue IronPDF for Python desde aquí.