1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- """
- 功能:生成barcode和学号,并生成图片和导入文件
- 时间:2020/08/18
- """
- from pystrich.code128 import Code128Encoder
- from PIL import Image
- import openpyxl
- import os
- temppath="template/考生信息表-模板.xlsx"
- student_num=10000
- imagepath = "output/image"
- tempimages=[]
- import random
- def main():
- #读取所有图片
- tempimage=os.listdir("template/tempimage")
- for images in tempimage:
- tempimages.append("template/tempimage"+"/"+images)
- if not os.path.exists(imagepath):
- os.makedirs(imagepath)
- student_template_file = openpyxl.load_workbook(temppath)
- student_sheet = student_template_file.active
- start_row = 2
- start_code_prefix=19000000
- for idx in range(student_num):
- student_sheet.cell(start_row, 1,start_code_prefix)
- """
- 生成图片
- """
- generateImage(start_code_prefix)
- student_sheet.cell(start_row, 2, "学生_"+str(idx))
- student_sheet.cell(start_row, 3, "省艺术培训协会")
- student_sheet.cell(start_row, 4, 1)
- student_sheet.cell(start_row, 5, "第二考场")
- student_sheet.cell(start_row, 6, "四川")
- student_sheet.cell(start_row, 7, "四川音乐学院")
- start_code_prefix=start_code_prefix+1
- start_row=start_row+1
- #student_template_file.save("output/student.xlsx")
- def generateImage(student_code):
- encoder = Code128Encoder(str(student_code))
- encoder.save("temp.png")
- codeimg=Image.open("temp.png")
- codeimg=codeimg.transpose(Image.ROTATE_90)
- coverimage=Image.open(tempimages[0])
- coverimage.paste(codeimg,(100,1500))
- coverimage.save(imagepath+"/"+str(student_code)+".jpg")
- if __name__=="__main__":
- main()
|