python, cadena de texto en una imagen

o como ponerle nombes a los reconocimientos
el archivo con los nombres debe tener un nombre por línea
#! /usr/bin/python3
# -*- coding:utf-8 -*-


from __future__ import print_function
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw

#definimos la función que pondra el texto en la imagen
#(nombre a colocar, nombre del archivo)


def puttextimg(name, namefile):
im = Image.open("reconocimientotx.jpg")
#archivo jpg del reconocimiento sin nombre
outfile = namefile
#juan te llamas.jpg

pathfont = "NimbusSanNovDBla.ttf"
font = ImageFont.truetype(pathfont, 145)
text = name
#nombre a colocar
tcolor = (15, 21, 106)
#color negro
text_pos = (538, 1360)
#coordenadas de donde se colocará el texto

draw = ImageDraw.Draw(im)
draw.text(text_pos, text, fill=tcolor, font=font)

im.save(outfile, "JPEG")
#guardamos el nuevo archivo
return

f = open('nombrestx.csv', 'r')
 #abrimos el arhivo en opendata

for line in f:
#Mientras existan lineas en el apuntador de lectura del archivo
    #separated = line.split(',')
    #separamos nombre, apellido1, apellido2, email
    #name = separated[0] + " " + separated[1] + " " + separated[2]
    name = line
    namefile = "files/" + name + ".jpg"
    #se requiere capeta files
    #email = separated[3]
    #el correo electronico
    puttextimg(name, namefile)
    #llamamos a la función para colocar texto
    #print(name, email)
    print (name);
    #mostramos solo en nobre y el correo

f.close()

Comentarios