pyqt codebar 批量生成png

import barcode
import random
from barcode.writer import ImageWriter
import os
from PIL import Image

#生成一维码的类型的种类
“”"
[u’code39’, u’code128’, u’ean’, u’ean13’, u’ean8’, u’gs1’, u’gtin’,
u’isbn’, u’isbn10’, u’isbn13’, u’issn’, u’jan’, u’pzn’, u’upc’, u’upca’]
“”"

#生成一维码,参数:码类型、码内容、文件名(文件名后缀自动加.png)
def barcode_to_png(barcode_type,text_str,filename):
EAN = barcode.get_barcode_class(barcode_type) #设置生成一维码的类型
ean = EAN(text_str, writer=ImageWriter())
ean.save(filename)

#8个一维码进行24的方式合并存成一张图,参数:码类型、文件数量
def barcode_fun(barcode_type,file_num):
for i in range(8
file_num):
r_num = random.randint(100000000000000, 999999999999999)
barcode_to_png(barcode_type,str(r_num),’./code/’+barcode_type+’/’+str(i))
if( (i+1)%8 == 0 ):
base_img0 = Image.open(’./code/’+barcode_type+’/’+str(i-7)+’.png’)
base_img1 = Image.open(’./code/’+barcode_type+’/’+str(i-6)+’.png’)
base_img2 = Image.open(’./code/’+barcode_type+’/’+str(i-5)+’.png’)
base_img3 = Image.open(’./code/’+barcode_type+’/’+str(i-4)+’.png’)
base_img4 = Image.open(’./code/’+barcode_type+’/’+str(i-3)+’.png’)
base_img5 = Image.open(’./code/’+barcode_type+’/’+str(i-2)+’.png’)
base_img6 = Image.open(’./code/’+barcode_type+’/’+str(i-1)+’.png’)
base_img7 = Image.open(’./code/’+barcode_type+’/’+str(i)+’.png’)
x = base_img0.size[0]
y = base_img0.size[1]
target = Image.new(‘RGBA’, (2x,4y), color=0)
target.paste(base_img0,(0,0,x,y))
target.paste(base_img1,(x,0,2x,y))
target.paste(base_img2,(0,y,x,2
y))
target.paste(base_img3,(x,y,2x,2y))
target.paste(base_img4,(0,2y,x,3y))
target.paste(base_img5,(x,2y,2x,3y))
target.paste(base_img6,(0,3
y,x,4y))
target.paste(base_img7,(x,3
y,2x,4y))
target.save(’./code/’+barcode_type+’/’+barcode_type+"_"+str((i+1)/8)+’.png’)
os.system("rm "+’./code/’+barcode_type+’/’+str(i-7)+’.png’)
os.system("rm "+’./code/’+barcode_type+’/’+str(i-6)+’.png’)
os.system("rm "+’./code/’+barcode_type+’/’+str(i-5)+’.png’)
os.system("rm "+’./code/’+barcode_type+’/’+str(i-4)+’.png’)
os.system("rm "+’./code/’+barcode_type+’/’+str(i-3)+’.png’)
os.system("rm "+’./code/’+barcode_type+’/’+str(i-2)+’.png’)
os.system("rm "+’./code/’+barcode_type+’/’+str(i-1)+’.png’)
os.system("rm "+’./code/’+barcode_type+’/’+str(i)+’.png’)

#主函数设置需要生成码类型的目录,生成相应码。
if name==“main”:
os.system(“mkdir -p ./code”)
os.system(“mkdir -p ./code/code128”)
os.system(“mkdir -p ./code/EAN13”)
os.system(“mkdir -p ./code/code39”)
os.system(“mkdir -p ./code/upca”)
code128 = ‘code128’
ean13 = ‘EAN13’
code39 = ‘code39’
upca = ‘upca’

barcode_fun(code128,10)
barcode_fun(ean13,10)
barcode_fun(code39,10)
barcode_fun(upca,10)
在使用PyQt5批量处理Excel时,可以使用QMessageBox来弹出提示框,根据需要选择不同的弹出框类型。例如,使用QMessageBox.information来显示提示信息,使用QMessageBox.warning来显示警告信息,使用QMessageBox.error来显示错误信息。具体的使用方法可以参考PyQt5的文档。\[1\] 此外,可以使用主函数来启动整个应用。在主函数中,首先创建一个QApplication对象,然后创建一个窗口对象,并设置窗口的主题、标题和图标路径,最后显示窗口并进入应用的事件循环。例如,可以使用如下代码来启动应用: ```python if __name__ == '__main__': app = QApplication(sys.argv) w = CandyWindow.createWindow(EDataDel(), theme='blueGreen', title='Excel批数据去重器 公众号:\[Python 集中营\]', ico_path='数据去重.ico') w.show() sys.exit(app.exec_()) ``` \[2\] 如果在处理Excel时遇到性能问题,可以考虑关闭多线程(num_worker)和减少批处理大小(batch_size)。此外,还可以使用数据增强来提高模型的性能。具体的方法可以参考相关文章和代码。\[3\] #### 引用[.reference_title] - *1* *3* [一文小入门pyQt5 —— 从零到一完成一个Excel文件处理程序](https://blog.csdn.net/qq_42868846/article/details/122494476)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [PyQt5 批量删除 Excel 重复数据,多个文件、自定义重复项一键删除](https://blog.csdn.net/chengxuyuan_110/article/details/123907068)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值