Debido a circunstancias que no tengo que explicar, me vi en la necesidad de convertir JPG a PDF, o en pocas palabras, convertir un montón de imágenes a un documento PDF.
Conozco una herramienta llamada ilovepdf, es en línea y muy cómoda. Pero pone un límite; y por otro lado mi internet no es el de la nasa.
Me puse a pensar, por lo tanto, cómo convertir mis imágenes a PDF. Y encontré la respuesta que vengo a exponer.
Además, será en Python, un lenguaje querido por todos.
Primero necesitamos tener instalado Python 3 y pip. Aquí un grandioso tutorial de cómo instalarlo en Windows 10.
Así se llama el paquete que nos permitirá convertir JPG a PDF. Lo instalamos con:
pip install img2pdf
En mi caso, sale esto al instalar:
Por favor ignoren la advertencia de que pip necesita actualizarse. Ya lo he dicho antes, con que diga “Successfully…” nos damos por bien servidos.
Para este ejemplo, tengo una carpeta con imágenes. Se ve así:
Ahora vamos a partir esto en partes para entenderlo mejor.
Esto no tiene nada que ver con la conversión a PDF. Simplemente veremos cómo obtener una lista de archivos en determinado directorio, para que más tarde podamos convertirlas. El código para ver el contenido de un directorio es este:
import os
archivos = os.listdir('./')
for archivo in archivos:
print(archivo)
Al ejecutarlo, se listarán todos los archivos que estén en el directorio en donde se ejecute el script.
import os
archivos = os.listdir('./')
for archivo in archivos:
if archivo.endswith(".jpg"):
print(archivo)
Si lo ejecuto, ahora sólo muestra imágenes jpg.
Con eso ya tenemos la mitad de este tutorial.
Para ello, primero filtramos los archivos del directorio actual de manera que sólo queden imágenes jpg en la lista. Con esa lista, llamamos a img2pdf y listo. Antes de ello abrimos el documento para escribir sobre él, esperamos un poco (dependiendo de cuántas imágenes sean) y se habrá generado nuestro archivo PDF.
import os
import img2pdf
imagenes_jpg = [archivo for archivo in os.listdir('./') if archivo.endswith(".jpg")]
with open("documento.pdf", "wb") as documento:
documento.write(img2pdf.convert(imagenes_jpg))
Y con eso estamos listos. Por cierto, créditos a quien respondió la pregunta de este sitio. También dejo el enlace a la documentación oficial.
El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…
Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…
En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta web usa cookies.
Ver comentarios