python

Unir dos o más documentos PDF con Python y PyPDF2

Introducción

Seguimos con los posts acerca de trabajar con documentos PDF. En este caso vamos a ver cómo unir 2, 3 o muchos documentos PDF en uno solo, utilizando el poderoso lenguaje Python y una librería llamada PyPDF2. Vamos allá.

Requisitos

Python 3 y pip. Podemos instalarlo como se ve aquí.

¿Cómo unir documentos PDF en Python?

Vamos a ver que es fácil hacerlo.

Paso 1: instalar librería PyPDF2

En nuestra línea de comandos escribimos:

pip install pypdf2

Presionamos enter, y esperamos a que el paquete se descargue.

Descargar e instalar PyPDF2 para unir PDF’s

Paso 2: documentos PDF de ejemplo

Para ilustrar bien este ejemplo, utilizaré 2 documentos PDF. Son estos:

Documento 1: PdfFileWriter

Documento 2: RectangleObject

Por el momento no importa el nombre ni el contenido de cada documento (son de alguna página de documentación de Python), lo que importa es cómo vamos a unirlos, y también el resultado.

Dichos ficheros estarán en el mismo directorio en donde ejecutaré el script.

Directorio en donde ejecutaremos el script

Vamos allá.

Paso 3: Unir documentos

Aquí el código fuente que utilizaremos:

from PyPDF2 import PdfFileMerger

pdfs = ["PdfFileWriter.pdf", "RectangleObject.pdf"]
nombre_archivo_salida = "salida.pdf"
fusionador = PdfFileMerger()

for pdf in pdfs:
    fusionador.append(open(pdf, 'rb'))

with open(nombre_archivo_salida, 'wb') as salida:
    fusionador.write(salida)

Al ejecutarlo (en caso de que no haya errores) no imprime nada en la consola:

Ejecutar unión de documentos

Naveguemos ahora al directorio en donde lo ejecutamos. Una vez que la ejecución haya terminado, habrá un documento nuevo con el nombre que indicamos.

Unión exitosa

Listo, se ha creado un nuevo documento: salida

Bonus: unir todos los documentos en el directorio actual

Puede que no deseemos cambiar la lista cada vez  que queremos unir diferentes documentos, podemos unir todos y cada uno de los documentos pdf que se encuentren en el directorio en donde se ejecuta nuestro script.

from PyPDF2 import PdfFileMerger
import os

pdfs = [archivo for archivo in os.listdir('./') if archivo.endswith(".pdf")]
nombre_archivo_salida = "salida.pdf"
fusionador = PdfFileMerger()

for pdf in pdfs:
    fusionador.append(open(pdf, 'rb'))

with open(nombre_archivo_salida, 'wb') as salida:
    fusionador.write(salida)

Al ejecutarlo, el resultado será el mismo; la diferencia es que no tuvimos que escribir el nombre de cada documento.

Conclusión

No sólo podemos unir 2 documentos, podemos unir los que sea, sólo tenemos que agregar sus nombres a la lista, o utilizar el segundo script para unir todos los que se encuentren en el directorio.

Te invito a ver cómo convertir imágenes a PDF, y también a darle una estrella al repositorio de la librería.

Créditos al autor de la respuesta que encontré en stackoverflow.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

4 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

5 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.