尝试渲染条形码图像,但对象无法调用?

Alg*_*ake 0 python barcode python-3.x

我正在尝试建立一个代码,该代码通过从txt文件生成条形码图像并将其粘贴在票证图像上来创建票证。

import barcode
import time
from barcode.writer import ImageWriter
mylist = []
with open('/Users/Droid/Desktop/my_project/Tickets/Tnumfile.TXT', 'r') as f:
for line in f.readlines():    #Walks through each line
    code = barcode.get('code', line, writer=ImageWriter()) 
    filename = code.save(line.strip())        #Saves Line 'tnumfile' as filename
    mylist.insert(0,line.strip() + '.png')



time.sleep(2)
from PIL import Image

for item in mylist:

im1 = Image.open('/Users/Droid/Desktop/my_project/Ticket.png') 
im2 = Image.open('/Users/Droid/Desktop/my_project/Tickets' + item) 
area = (30, 1380, 553, 1660)                                       

im1.paste(im2, area)
im1.save('line' + item)
Run Code Online (Sandbox Code Playgroud)

应该通过.txt文件运行,将所有条形码转换为图像,然后将其复制到票证图像模板上,而是一直告诉我:

  File "C:\Users\Droid\Desktop\my_project\Script.py", line 7, in <module>
    code = barcode.get('code', line, writer=ImageWriter())  
TypeError: 'NoneType' object is not callable
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 6

如果您想将条形码渲染到图像上,则该python-barcode项目需要安装Pillow,否则设置ImageWriterNone。有关详细信息,请参见barcode.writer源代码(PIL是Pillow提供的软件包的名称)。

运行pip install Pillow以纠正这一点。

您还可以通过安装python-barcode imagesExtras 来告诉pip引入依赖关系:

pip install python-barcode[images]
Run Code Online (Sandbox Code Playgroud)