1

テーブル行に埋め込む必要がある Python/Django で Code39 バーコードを作成する必要があります。

data= []

for user in users:

    individual_num = user['id']

    username = Paragraph(user['username'], styleBH)
    id = Paragraph(str(individual_num), styleBH)
    name = Paragraph('%s %s' % (user['name'], user['address']), styleBH)
    phone = Paragraph(user['phone'], styleBH)
    address = Paragraph(user['order_groups_courier'][0].user_comment, styleBH)
    purchases_count = Paragraph(str(len(user['order_groups_courier'])), styleBH)

    user_data = [ '', '%s \n %s \n %s \n %s \n %s' % (username, id, name, phone, address) ]
    data.append(user_data)

    for order_group_courier in user['order_groups_courier']:
        admin = Paragraph(order_group_courier.order_group.purchase.owner.username, styleN)
        purchase = Paragraph('%s (%s)' % (order_group_courier.order_group.purchase.name, order_group_courier.order_group_id), styleN)
        count = Paragraph(str(order_group_courier.order_group.cache_total_count), styleN)

        barcode=code39.Extended39(id, barWidth=0.4*mm, barHeight=20*mm, bearers=0.1, quiet=True, lquiet=5*mm, rquiet=5*mm)

        purchase_data = [renderPM.drawToPMCanvas(barcode), '%s %s %s' %  admin, purchase, count]
        data.append(purchase_data)

    table = Table(data, colWidths=[10* cm, 10* cm ])
    table.setStyle(TableStyle([
        ('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
        ('BOX', (0,0), (-1,-1), 0.25, colors.black),
        ]))

    elements.append(KeepTogether(table))
    elements.append(Paragraph('-----', styleBH))
    data = []

doc.build(elements, canvasmaker=NumberedCanvas)

バーコード=code39.Extended39 を作成し、renderPM: renderPM.drawToPMCanvas(barcode) でレンダリングしますが、「Extended39 インスタンスに属性 'renderScale' がありません」というエラーが表示されます。これを行う簡単な方法を教えてもらえますか?

4

0 に答える 0