Prerrequisitos: Python: Pillow (una bifurcación de PIL)
Bueno, si alguna vez ha hecho algo como crear certificados para los participantes de cualquier evento, entonces sabe lo tedioso que es el proceso. Automaticemos eso usando Python. Usaremos el módulo Pillow de Python. Para instalar eso simplemente escriba lo siguiente en su terminal
pip install Pillow
También necesita el diseño del certificado en formato de imagen (preferiblemente png). Puede usar algo como Microsoft Office Publisher para crear los certificados y exportarlos como png. Mantenga algo de espacio adicional para ingresar el nombre. A continuación se muestra la plantilla de certificado que utilizaremos.
Certificado de plantilla:
Entonces, nuestra plantilla de certificado está lista. Ahora, necesitamos encontrar una fuente adecuada para escribir el nombre en ella. Necesita la ruta al archivo de fuente (archivo TTF). Si está utilizando Windows 10, simplemente busque Fuentes en la búsqueda de Windows, le mostrará los resultados de la configuración de Fuentes. Dirígete hacia allí y deberías ver algo similar a la siguiente pantalla.
Ahora, elige la fuente que te gusta de aquí y haz clic en ella. Verá una ruta a esa fuente. Anote el camino en alguna parte. Lo necesitarás en tu código.
A continuación se muestra la implementación.
# imports from PIL import Image, ImageDraw, ImageFont def coupons(names: list, certificate: str, font_path: str): for name in names: # adjust the position according to # your sample text_y_position = 900 # opens the image img = Image.open(certificate, mode ='r') # gets the image width image_width = img.width # gets the image height image_height = img.height # creates a drawing canvas overlay # on top of the image draw = ImageDraw.Draw(img) # gets the font object from the # font file (TTF) font = ImageFont.truetype( font_path, 200 # change this according to your needs ) # fetches the text width for # calculations later on text_width, _ = draw.textsize(name, font = font) draw.text( ( # this calculation is done # to centre the image (image_width - text_width) / 2, text_y_position ), name, font = font ) # saves the image in png format img.save("{}.png".format(name)) # Driver Code if __name__ == "__main__": # some example of names NAMES = ['Frank Muller', 'Mathew Frankfurt', 'Cristopher Greman', 'Natelie Wemberg', 'John Ken'] # path to font FONT = "/path / to / font / ITCEDSCR.ttf" # path to sample certificate CERTIFICATE = "path / to / Certificate.png" coupons(NAMES, CERTIFICATE, FONT)
Producción:
Agregue los nombres a la lista de NOMBRES . Luego, cambie la ruta de la fuente y la ruta a la plantilla del certificado de acuerdo con su sistema. Luego ejecute el código anterior y todos sus certificados deberían estar listos. Esta es una solución bastante efectiva para automatizar el proceso de creación de certificados para una gran cantidad de participantes. Esto puede ser muy efectivo para los organizadores de eventos.
Publicación traducida automáticamente
Artículo escrito por debdutgoswami y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA