Manipulación de documentos PDF con PyPDF2 en Python
PyPDF2 es una biblioteca de Python que permite leer, escribir y manipular archivos PDF. Es una herramienta muy potente que puede ser utilizada para una variedad de tareas, como:
- Extraer texto e imágenes de archivos PDF
- Fusionar o dividir archivos PDF
- Modificar el contenido o el formato de un archivo PDF
Instalación
Para instalar PyPDF2, ejecuta el siguiente comando en la terminal:
pip install PyPDF2
Lectura de archivos PDF
Para leer un archivo PDF con PyPDF2, utiliza la función PdfFileReader()
. Esta función devuelve un objeto PdfFileReader
que representa el archivo PDF.
import PyPDF2
# Lee el archivo PDF
pdf_file = open("documento.pdf", "rb")
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# Imprime el número de páginas
print(pdf_reader.numPages)
# Imprime el título del documento
print(pdf_reader.getDocumentInfo().title)
Extracción de texto
Para extraer texto de un archivo PDF, utiliza la función extractText()
. Esta función devuelve una cadena con el texto de todas las páginas del documento.
import PyPDF2
# Lee el archivo PDF
pdf_file = open("documento.pdf", "rb")
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# Extrae el texto
texto = pdf_reader.extractText()
# Imprime el texto
print(texto)
Fusionar archivos PDF
Para fusionar dos o más archivos PDF, utiliza la función PdfFileMerger()
. Esta función crea un nuevo archivo PDF que contiene el contenido de los archivos de origen.
import PyPDF2
# Abre los archivos PDF de origen
pdf_file1 = open("documento1.pdf", "rb")
pdf_file2 = open("documento2.pdf", "rb")
# Crea un nuevo objeto `PdfFileMerger`
pdf_merger = PyPDF2.PdfFileMerger()
# Añade los archivos de origen al nuevo documento
pdf_merger.append(pdf_file1)
pdf_merger.append(pdf_file2)
# Escribe el nuevo archivo PDF
pdf_merger.write("documento_fusionado.pdf")
Dividir archivos PDF
Para dividir un archivo PDF en varios archivos más pequeños, utiliza la función split()
. Esta función crea un nuevo archivo PDF para cada página del documento de origen.
import PyPDF2
# Lee el archivo PDF
pdf_file = open("documento.pdf", "rb")
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# Divide el archivo PDF en 2 archivos
for i in range(pdf_reader.numPages):
pagina = pdf_reader.getPage(i)
pdf_writer = PyPDF2.PdfFileWriter()
pdf_writer.addPage(pagina)
pdf_file_out = open("documento_" + str(i) + ".pdf", "wb")
pdf_writer.write(pdf_file_out)
pdf_file_out.close()
Otras funciones
PyPDF2 también proporciona una serie de funciones adicionales para manipular archivos PDF. Estas funciones incluyen:
addPage()
: Añade una página a un archivo PDFdeletePage()
: Elimina una página de un archivo PDFrotatePage()
: Rota una página de un archivo PDFsetPageLayout()
: Establece el diseño de una página de un archivo PDFsetPageMode()
: Establece el modo de visualización de un archivo PDF
Conclusión
PyPDF2 es una herramienta muy potente que puede ser utilizada para una variedad de tareas de manipulación de documentos PDF. Con un poco de práctica, podrás utilizar esta biblioteca para crear tus propios proyectos de procesamiento de PDF.