Рубрики
Без рубрики

Generar Sertives Con Python

Antes de Empezar quiero dar reconocimiento a mursal furqan por crear el código que se usará en ese a … Tagged с Python, Agile, Beginters, Help.

Antes de Empezar quiero dar reconocimiento a mursal furqan por crear el código que se usará en este artículo para hacer esta ersión en español.

Desde Enero de 2020 Formo parte del Programa Microsoft Student Partners, Ahora Conocido Como Microsoft изучать послов студентов. Los Integrantes de Este Programa nos encargamos de Realizar Регулировка Talleres Para Ayudar a Nuestras Comunidades A Arender Más Sobre Tecnología y Otras Herramientas de la Familia de Microsoft Quedan Facilitar Facilitar Suse Actividades Diarias. Учитывая, что вы эксплу, en la mayoría de las ocasasiones las personas asisten a nuestros talleres nos preguntan si es, Que ellos reciban un sertivado por haber en dicho enicho выше. El Programa de Microsoft nos otorga una para para dar sertivos de acteyación a quienes asistan a nuestro talleres o evestos.

Ahora, El Problesa Que Se Secesta es el Siguiente. ¿Cómo Puedo Hacer 20 O 100 СЕРТИДОС CON EL NOMBRE DE CADA UNO DE LOS Участники? Este artículo explicArá detalladamente como podemos usar librerías de python para edición de imágenes y análisis de datos para hacer esta tarea.

Antes de Empezar necesitamos tener algunas cosas ya preparadas, las cuales son:

  1. Instalar on enterorno de Programación. (EN MI CASO USARé Visual Studio Code).
  2. Instalar el Intérprete de Python en Nuestra Computadora.
  3. Instalar Pandas y Подушка, Que Son Las Librerías Que usaremos para este código.
  4. Crear Un Archivo de Excel o .csv con los nombres de los участники.
  5. Tener una plantilla de nuestro sermatado previamente endificada y exportada en formato .jpg (La Imagen debe estar en formato de color rgb)
  6. Descargar un archivo de tipo de letra en formato .tff

Para Instalar Python Pueden Entrar aste ссылка на сайт . Ahora, para instalar las librerías de pandas y pillow dentro del entorno de programación de nuestra prepretencia debemos crear un archivo ya una terminal de python para eScribir las siguientes líneas.

Primero, para asegurarnos que tenemos la ultima ersión de “pip”, eScribiRemos.

pip install pip

Una Vez Hecho esto Proceficemos instalar las otras librerías.

pip install pandas
pip install pillow 

Perfecto, una vez que tengamos estas librerías instaladas tenemos que crear un proyecto nuevo y dentro de este proyecto crear el archivo con nombre de nuestra preferencia. Una Vez Hecho Esto, Localizaremos la carpeta de Este proyecto y Dentro de ella guardaremos todo lo Andermente expuesto; El Archivo Excel O .csv, la plantilla de nuestro sermato en formato .jpg y por ultimo, el tipo de letra en formato (.tff). ПУДЕН ДЕССАРГАРГ ТИПОСЕ ДЕТРА ЭСТА Паджина . Esto nos ormitirá usar estos recursos dentro del archivo de python.

Una Vez Hecho Esto, Exportaremos las librerías que usaremos en el proyecto y vamos a care un código para hacer este trabajo para un único сертификат. Luego lo aremos para todos.

from PIL import Image, ImageDraw, ImageFont
import pandas as pd

Primero abriremos el archivo excel o .csv USANDO PANDAS Y TENEMOS QUE CONVERTIRLU EN UNA LISTA. Al USAR PANDAS PARA LEER ESTE TIPO DE ARCHIVOS COPENDREMOS UN TIPO DATO DATO CONOCIDO COMO DataFrame Анкет De forma análoga es como tener un libro de excel. Si Nuestro Archivo Tiene Moadas Colunas Con Varios datos de nuestros участники deberemos indexarlo.

#Archivo Excel

datos = pd.read_excel("Archivo.xlsx")
#Ahora tenemos que convertilo en una lista.
datos = datos["Nombres"] # De esta forma indexamos el DataFrame.
datos = datos.to_list() #Ahora tenemos una lista con únicamente los nombres de los participantes.

#Cuando ya se tiene un poco más de experiencia podría escribirse todo en una sola línea.

datos = pd.read_excel("Archivo.xlsx")["Nombres"].to_list()

#Archivo .csv
#Con el archivo .csv es igual así que lo haremos directamente, solo hay que cambiar de función para leer el archivo.

datos = pd.read_csv("Archivo.csv", sep=",") 
#Hay que agregar el tipo de separación del archivo luego el resto es lo mismo, la lista debe obtenerse así.

datos = pd.read_csv("Archivo.csv", sep=",")["Nombres"].to_list()

Ahora Que tenemos todos los datos y asumiendo que solo hay unombre en la lista, процедуры, а также сертификат Llenar el Primer. USANDO LA FUNCION Image.Open de Pillow abriremos la Imagen Que Queremos modificar. Hay Que Escribir El Nombre Exacto de la Imagen y también la extensión del archivo, todo entre “comillas”.

certificado = Image.open("certificado.jpg")

Ahora escribiremos el código que nos ormitirá edificar eschivo que acabamos de abrir. Para ello necesitaremos algunos detalles como el tipo de letra, la ubicación donde estará el texto a eccribir, su color y su tamaño.

certificado = Image.open("certificado.jpg")
nuevo = ImageDraw.Draw(certificado)
#La variable nuevo representará las modificaciones al archivo certificado.

coordenadas = (290,968) 
#coordenadas (x,y) pueden obtenerse abriendo la imagen previamente en paint.
color_texto = (0,137,209)
#Hay que escribir el código del color en formato (R,G,B) 
tipo_letra = ImageFont.truetype("nombre.ttf", 75) 
#Se especifica el nombre del archivo .tff que guardamos previamente y el tamaño de la letra ("nombre.tff", tamaño)

Finalmente Proceseremos Modificar El Archivo Con Esta Información y Guardarlo Como un Archivo .pdf, Aunque También Podemos Hacerlo Como un Archivo .jpg

 nuevo.text(coordenadas, datos[0], fill=color_texto, font=tipo_letra)
 certificado.save(datos[0]+".pdf")

La Función Text Recibe Los Siguientes Tipos de Datos:

  • Cordenadas, Tupla Con Valores Numéricos (x, y).
  • Datos [0], Debe Ser un Valor “str” por eso se indexa la lista en su único valor porque este es un dato de tipo “str”.
  • color_texto, tupla con Valores numéricos (r, g, b).
  • tipo_letra, tupla con el nombre del tipo de letra y su tamaño (“str”, int).

Por último, la función Сохранить Recibe un dato tipo стр Que Será el Nombre del Archivo, охранник. En nuestro caso se usó una concatenación para escribir el nombre de la persona más las extensión final del archivo. El Código Debe Quedarnos de la Siguiente Manera.

from PIL import Image, ImageDraw, ImageFont
import pandas as pd
datos = pd.read_excel("Nombres.xlsx")["Nombres"].to_list()
certificado = Image.open("certificado.jpg")
nuevo = ImageDraw.Draw(certificado)
coordenadas = (290,968)
color_texto = (0,137,209)
tipo_letra = ImageFont.truetype("nombre.ttf", 75)
nuevo.text(coordenadas, datos[0], fill=color_texto, font=tipo_letra)
certificado.save(datos[0]+".pdf")

Finalmente infularemos un lazo для Para Hacerlo de Forma Masiva Con n Cantidad de Nombres. El Código Debe Quedarnos de la Siguiente Forma.

from PIL import Image, ImageDraw, ImageFont
import pandas as pd
datos = pd.read_excel("Nombres.xlsx")["Nombres"].to_list()
for nombre in datos:   
    certificado = Image.open("certificado.jpg")
    nuevo = ImageDraw.Draw(certificado)
    coordenadas = (290,968)
    color_texto = (0,137,209)
    tipo_letra = ImageFont.truetype("nombres.ttf", 75)
    nuevo.text(coordenadas, nombre, fill=color_texto, font=tipo_letra)
    certificado.save(nombre+".pdf")

Final Final Tendremos un Resultado Como Este

¡Si DeSean Pueden Entrar Al Artículo Original En Ingles de Mursal Furqan en Este Энлас ! Апойенло Дандоле, как и Su Publicación En Medium.

Aquí También Está Su Perfil de Medium Para Que Puedan Ver Sus Otras Publicaciones En Ingles.

Оригинал: “https://dev.to/bseker61/generar-certificados-con-python-f1a”