""" 功能:生成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()