【问题标题】:Trying to render a barcode image, but object is not callable?尝试渲染条形码图像,但对象不可调用?
【发布时间】:2019-05-28 09:59:47
【问题描述】:

我正在尝试设置一个代码,该代码通过从 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)

应该运行.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

【问题讨论】:

    标签: python python-3.x barcode


    【解决方案1】:

    python-barcode project 需要安装 Pillow 才能将条形码渲染到图像,否则它将 ImageWriter 设置为 None。详情见barcode.writer source code(PIL 是 Pillow 提供的包的名称)。

    运行 pip install Pillow 来解决这个问题。

    您还可以通过安装 python-barcode images 附加功能来告诉 pip 引入依赖项:

    pip install python-barcode[images]
    

    【讨论】:

      猜你喜欢
      • 2020-10-13
      • 1970-01-01
      • 2018-11-21
      • 1970-01-01
      • 2022-12-21
      • 2013-10-14
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      相关资源
      最近更新 更多