Link Search Menu Expand Document
El Libro De Python (24.95 €) 39.95 €

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.