Unir pdfs con pypdf
En este ejemplo vemos como juntar dos pdf con pypdf
. Este paquete permite trabajar en Python con ficheros .pdf
. Los puedes unir, eliminar páginas, añadir marcas de agua, encriptar, desencriptar o extraer contenido de páginas concretas.
Vamos a empezar creando dos ficheros pdf vacíos.
from pypdf import PdfWriter
pdf_writer = PdfWriter()
pdf_writer.add_blank_page(595.28, 841.89)
with open("pdf1.pdf", "wb") as f:
pdf_writer.write(f)
with open("pdf2.pdf", "wb") as f:
pdf_writer.write(f)
Y ahora lo interesante. Veamos como juntar dos pdf pdf1.pdf
y pdf2.pdf
en un fichero nuevo llamado unidos.pdf
.
pdf_merger = PdfWriter()
with open("pdf1.pdf", 'rb') as file1:
pdf_merger.append(file1)
with open("pdf1.pdf", 'rb') as file2:
pdf_merger.append(file2)
with open("unidos.pdf", 'wb') as output_file:
pdf_merger.write(output_file)
En apenas 6 líneas de código lo hemos realizado. Así que la próxima vez que quieras unir dos pdf, plantéate hacerlo usando Python en vez de recurrir a servicios online de dudosa reputación y privacidad.
✏️ Ejercicios:
- Escribe una función que elimine la última página de un pdf.
- Escribe una función que una todos los pdf que existan en una carpeta.