python

Generar PDF a partir de imágenes con Python 3 e img2pdf

Introducción

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.

Convertir imágenes JPG a PDF

Requisitos

Primero necesitamos tener instalado Python 3 y pip. Aquí un grandioso tutorial de cómo instalarlo en Windows 10.

Instalar img2pdf

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:

Instalación exitosa de img2pdf

Por favor ignoren la advertencia de que pip necesita actualizarse. Ya lo he dicho antes, con que diga “Successfully…” nos damos por bien servidos.

Carpeta de imágenes

Para este ejemplo, tengo una carpeta con imágenes. Se ve así:

Directorio con imágenes para convertir

Ahora vamos a partir esto en partes para entenderlo mejor.

Obtener lista de imágenes

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:

See the gist on github.

Al ejecutarlo, se listarán todos los archivos que estén en el directorio en donde se ejecute el script.

Pero como vemos, no todo son imágenes. Están por ejemplo los scripts que estamos viendo justo ahora. Para omitirlos podemos hacer una comparación, e imprimir sólo los archivos .jpg:

See the gist on github.

Si lo ejecuto, ahora sólo muestra imágenes jpg.

Listar únicamente imágenes JPG

Con eso ya tenemos la mitad de este tutorial.

Convertir imágenes a PDF

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.

See the gist on github.

 

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.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

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

Compartir
Publicado por
parzibyte

Entradas recientes

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

20 horas hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

1 semana hace

JavaScript: llenar select con arreglo

En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…

2 semanas hace

Imprimir PDF a partir de URL

En este artículo se presenta una guía para imprimir un PDF a partir de una…

2 semanas hace

Esta web usa cookies.