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á.
Python 3 y pip. Podemos instalarlo como se ve aquí.
Vamos a ver que es fácil hacerlo.
En nuestra línea de comandos escribimos:
pip install pypdf2
Presionamos enter, y esperamos a que el paquete se descargue.
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.
Vamos allá.
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:
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.
Listo, se ha creado un nuevo documento: salida
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.
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.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios
Gracias por el aporte, funciona ok. Sólo un apunte:
actualizar el script porque PdfFileMerger cambió por PdfMerger
Muchas gracias, era justo lo que necesitaba, soy novato
Gracias por sus comentarios. Saludos!
Un excelente aporte, felicitaciones