【发布时间】:2018-05-23 12:32:32
【问题描述】:
我需要在带有reportlab的A4尺寸PDF的右下角放一个条形码128,边距为5mm。
为此,我们需要在画布上使用drawOn 之前获取条形码的实际宽度。
reportlab条码创建后如何获取其宽度?
注意:我尝试使用 barHeight 和 barWidth,但后者没有给出条码的完整宽度,而只是两个条之间的最小距离,或多或少。
【问题讨论】:
标签: python pdf barcode reportlab
我需要在带有reportlab的A4尺寸PDF的右下角放一个条形码128,边距为5mm。
为此,我们需要在画布上使用drawOn 之前获取条形码的实际宽度。
reportlab条码创建后如何获取其宽度?
注意:我尝试使用 barHeight 和 barWidth,但后者没有给出条码的完整宽度,而只是两个条之间的最小距离,或多或少。
【问题讨论】:
标签: python pdf barcode reportlab
做的时候:
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)
【讨论】: