Skip to content

Instantly share code, notes, and snippets.

@srdg
Created September 21, 2018 07:51
Show Gist options
  • Save srdg/c11f13411b3f64066f01e9f8f7c370f9 to your computer and use it in GitHub Desktop.
Save srdg/c11f13411b3f64066f01e9f8f7c370f9 to your computer and use it in GitHub Desktop.
Internship
import os
import shutil
import openpyxl
import datetime
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw
#open Excel File
ob=openpyxl.load_workbook('demodata.xlsx')
#open Worksheet
sh1=ob['Form Responses 1']
#set font to be used in text in Image
for i in range(2,sh1.max_row+1):
#open Image file
img=Image.open('Final.jpg')
W, H = img.size
draw = ImageDraw.Draw(img)
#getdata
name = str(sh1.cell(row=i,column=2).value).upper()
dept = str(sh1.cell(row=i,column=3).value).upper()
begi = sh1.cell(row=i,column=4).value
begi = begi.strftime('%m/%d/%Y').split('/')
begi[0],begi[1]=begi[1],begi[0]
begi = '/'.join(begi)
endi = sh1.cell(row=i,column=5).value
endi = endi.strftime('%m/%d/%Y').split('/')
endi[0],endi[1] = endi[1],endi[0]
endi = '/'.join(endi)
task = str(sh1.cell(row=i,column=6).value).upper()
supervisor = str(sh1.cell(row=i,column=7).value).upper()
HOD = str(sh1.cell(row=i,column=9).value).upper()
#add text to Image
font=ImageFont.truetype("Cambo-Regular.otf",size=60)
w, h = draw.textsize(name, font=font)
draw.text(((W-w)/2,1400),name,(0,0,0),font=font)
w, h = draw.textsize(dept, font=font)
draw.text(((W-w)/2,1530),dept,(0,0,0),font=font)
w, h = draw.textsize(begi, font=font)
draw.text(((W-w)/2 - 150,1660),begi,(0,0,0),font=font)
w, h = draw.textsize(endi, font=font)
draw.text(((W-w)/2 + 250,1660),endi,(0,0,0),font=font)
font=ImageFont.truetype("Cambo-Regular.otf",size=50)
w, h = draw.textsize(task, font=font)
draw.text(((W-w)/2,1808),task,(0,0,0),font=font)
font=ImageFont.truetype("Cambo-Regular.otf",size=60)
w, h = draw.textsize(supervisor, font=font)
draw.text(((W-w)/5,2130),supervisor,(0,0,0),font=font)
font=ImageFont.truetype("Cambo-Regular.otf",size=60)
w, h = draw.textsize(HOD, font=font)
draw.text(((W-w)/2,2130),HOD,(0,0,0),font=font)
#save changes to Image file
img.save(name+'.jpg')
img.close()
#move Image file to new directory
try:
if not os.path.exists("Certificates Generated Here"):
os.makedirs("Certificates Generated Here")
shutil.move(name+'.jpg', os.getcwd()+"/Certificates Generated Here")
except:
# traceback : file already exists
os.rename(os.getcwd()+'/'+name+'.jpg', os.getcwd()+"/Certificates Generated Here"+'/'+name+'.jpg')
print("Creating certificate for "+name+"....done.")
import os
import shutil
import openpyxl
import datetime
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw
#open Excel File
ob=openpyxl.load_workbook('outdata.xlsx')
#open Worksheet
sh1=ob['Form Responses 1']
#set font to be used in text in Image
for i in range(2,sh1.max_row+1):
#open Image file
img=Image.open('final.jpg')
W, H = img.size
draw = ImageDraw.Draw(img)
#getdata
jgec_dept = 'DEPARTMENT OF '+str(sh1.cell(row=i,column=3).value).upper()
name_intern = str(sh1.cell(row=i,column=4).value).upper()
clg_dept = str(sh1.cell(row=i,column=5).value).upper()
college = str(sh1.cell(row=i,column=6).value).upper()
start_date = sh1.cell(row=i,column=7).value
end_date = sh1.cell(row=i,column=8).value
start_date = start_date.strftime("%m/%d/%Y").split('/')
start_date[0],start_date[1] = start_date[1],start_date[0]
end_date = end_date.strftime("%m/%d/%Y").split('/')
end_date[0],end_date[1] = end_date[1],end_date[0]
start_date = '/'.join(start_date)
end_date = '/'.join(end_date)
title = str(sh1.cell(row=i,column=9).value).upper()
supervisor = str(sh1.cell(row=i,column=10).value).upper()
head_of_dept = str(sh1.cell(row=i,column=11).value).upper()
font=ImageFont.truetype("Bentham.otf",size=80)
w, h = draw.textsize(jgec_dept, font=font)
draw.text((((W-w)/2)+50,970),jgec_dept,(0,0,0),font=font)
font=ImageFont.truetype("Cambo-Regular.otf",size=60)
w, h = draw.textsize(name_intern, font=font)
draw.text((((W-w)/2)+50,1190),name_intern,(0,0,0),font=font)
font=ImageFont.truetype("Cambo-Regular.otf",size=50)
w, h = draw.textsize('from', font=font)
draw.text((((W-w)/2)+50,1250),'from',(0,0,0),font=font)
font=ImageFont.truetype("Cambo-Regular.otf",size=60)
w, h = draw.textsize(clg_dept, font=font)
draw.text((((W-w)/2)+50,1300),clg_dept,(0,0,0),font=font)
font=ImageFont.truetype("Cambo-Regular.otf",size=50)
w, h = draw.textsize('of', font=font)
draw.text((((W-w)/2)+50,1360),'of',(0,0,0),font=font)
font=ImageFont.truetype("Cambo-Regular.otf",size=60)
w, h = draw.textsize(college, font=font)
draw.text((((W-w)/2)+50,1420),college,(0,0,0),font=font)
w, h = draw.textsize(start_date, font=font)
draw.text(((W-w)/2 - 150,1570),start_date,(0,0,0),font=font)
w, h = draw.textsize(end_date, font=font)
draw.text(((W-w)/2 + 250,1570),end_date,(0,0,0),font=font)
font=ImageFont.truetype("Cambo-Regular.otf",size=50)
w, h = draw.textsize(title, font=font)
draw.text(((W-w)/2 + 50,1710),title,(0,0,0),font=font)
w, h = draw.textsize(supervisor, font=font)
draw.text(((W-w)/8,2170),supervisor,(0,0,0),font=font)
w, h = draw.textsize(head_of_dept, font=font)
draw.text(((W-w)/3 + 130,2170),head_of_dept,(0,0,0),font=font)
img.save(name_intern+'.jpg')
img.close()
img.close()
#move Image file to new directory
try:
if not os.path.exists("Outdoor certificates Generated Here"):
os.makedirs("Outdoor certificates Generated Here")
shutil.move(name_intern+'.jpg', os.getcwd()+"/Outdoor certificates Generated Here")
except:
# traceback : file already exists
os.rename(os.getcwd()+'/'+name_intern+'.jpg', os.getcwd()+"/Outdoor certificates Generated Here"+'/'+name_intern+'.jpg')
print("Creating certificate for " + name_intern + "....done.")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment