我需要在带有reportlab
的A4尺寸PDF的右下方放置条形码128,边距为5mm。
为此,我们需要在画布上使用drawOn
之前获取条形码的实际宽度。
如何获取reportlab条形码的宽度?
注意:我尝试使用barHeight和barWidth,但是后者并没有给出条形码的全宽,而只是两个条之间的最小距离,或多或少。
答案 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)