명함과 같이 양식은 동일한데 성함, 전화번호 등만 변경하는 업무가 있을 수 있다.
10개 미만이면 그냥 하는 것이 빠를 텐데, 수천개로 늘어나는 순간 일일이 하기가 어렵다.
이번 실습에서 했던 명함만들기 자동화는 업무 하는데 큰 도움이 될 것으로 보인다.
(책에서 언급하는대로 진행하면 오류없이 끝까지 할 수있다.)
※작성 코드
!pip install xlrd
import pandas as pd
df=pd.read_excel('명함제작용data.xls')
df.head()
width=int(90*96/25.4)
height=int(50*96/25.4)
print(width,height)
from PIL import Image
img_basic = Image.open("명함기본샘플(90mm-50mm).jpg")
img_basic.show()
from PIL import Image
img_basic=Image.open("명함기본샘플(90mm-50mm).jpg")
img_logo=Image.open("Logo.jpg")
img_resize=img_logo.resize((140,140))
img_basic.paste(im=img_resize,box=(5,24))
img_basic.save("명함기본샘플(90mm-50mm)_logo.jpg")
img_basic
for df_unit in df.loc[0]:
print(df_unit)
df_unit=df.loc[0]
row1=df_unit[0]
row2=df_unit[1]
row3=df_unit[2] + "" + df_unit[3]
row4=df_unit[4]
row5="H.P:"+df_unit[5]+"/Tel:"+df_unit[6]+"/Fax:"+df_unit[7]
row6="Email:"+df_unit[8]
row7=df_unit[8]
from PIL import Image
img = img_basic.copy()
from PIL import ImageFont
fontsize = 30
fnt = ImageFont.truetype("SCDream3.otf", fontsize, encoding="UTF-8")
from PIL import ImageDraw
draw = ImageDraw.Draw(img)
text="샘플 글자"
draw.text((180,50), text, font=fnt, fill="black")
a = 0
img=img_basic.copy()
fnt=ImageFont.truetype("SCDream3.otf", 10, encoding="UTF-8")
draw=ImageDraw.Draw(img)
text_list=[
row1, row2, row3, row4, row5, row6, row7
]
text_list
for unit in text_list:
a=a+25
draw.text((150,a), unit, font=fnt, fill="black")
img
img.save('명함_TEST.jpg')
for a in range(len(df)):
df_unit=df.loc[a]
fnt1=ImageFont.truetype("SCDream3.otf", 20, encoding="UTF-8")
row1=df_unit[0]
fnt2=ImageFont.truetype("SCDream3.otf", 10, encoding="UTF-8")
row2=df_unit[1]
fnt3=ImageFont.truetype("SCDream3.otf", 15, encoding="UTF-8")
row3=df_unit[2]+""+df_unit[3]
fnt4567=ImageFont.truetype("SCDream3.otf", 10, encoding="UTF-8")
row4=df_unit[4]
row5="H.P:"+df_unit[5]+"/Tel:"+df_unit[6]
row6="Email:"+df_unit[8]
row7=df_unit[9]
text_list=[[row1, fnt1], [row2,fnt2], [row3, fnt3], [row4, fnt4567], [row5, fnt4567], [row6, fnt4567], [row7, fnt4567]]
a=0
img=img_basic.copy()
draw=ImageDraw.Draw(img)
for unit in text_list:
a=a+25
draw.text((150,a), unit[0],font=unit[1],fill="black")
img.save(f"명함/{row3}.jpg")
img.close()
'[업무 자동화] > 파이썬' 카테고리의 다른 글
[파이썬] 무비 차트 수집하기(feat. 코드 포함) (2) | 2024.09.29 |
---|---|
[파이썬] 음원 차트 수집하기(feat. 코드 포함) (2) | 2024.09.22 |
[파이썬] MS office 자동화 실습(feat. 엑셀, PPT, 워드클라우드) (8) | 2024.09.08 |
[파이썬] 데이터 처리 자동화(feat. pandas, 오류 해결) (0) | 2024.09.01 |
[파이썬] 인터넷 자동화 현업 실습(feat. 오류 해결, wordcloud, pandas) (0) | 2024.08.25 |