如何获得条形码宽度?

时间:2018-05-23 12:32:32

标签: python pdf barcode reportlab

我需要在带有reportlab的A4尺寸PDF的右下方放置条形码128,边距为5mm。

为此,我们需要在画布上使用drawOn之前获取条形码的实际宽度。

如何获取reportlab条形码的宽度?

注意:我尝试使用barHeight和barWidth,但是后者并没有给出条形码的全宽,而只是两个条之间的最小距离,或多或少。

1 个答案:

答案 0 :(得分:0)

做的时候:

barcode = code128.Code128(ID, barHeight=1 * cm, barWidth=1.5, quiet=False)

然后简单地barcode.width给出它的宽度:)

确实Code128是类MultiWidthBarcode的子类,它本身是Barcode的子类,其属性width定义为here

def width(self):
    self._calculate()
    return self._width
width = property(width)

然后,这里是如何在A4纸的右下角放置条形码:

MARGIN = 0.5 * cm
barcode.drawOn(c, 21 * cm - MARGIN - barcode.width, MARGIN)