Как узнать ширину штрих-кода? - PullRequest
0 голосов
/ 23 мая 2018

Мне нужно поставить штрих-код 128 в правом нижнем углу PDF формата А4 с reportlab с полем 5 мм.

Для этого нам нужно получить фактическую ширину штрих-кода перед использованием drawOn на холсте.

Как получить ширину штрих-кода reportlab после его создания?

Примечание: я пробовал с barHeight и barWidth, но последний не дает полную ширину штрих-кода, а только наименьшее расстояние между двумя барами, больше или меньше.

1 Ответ

0 голосов
/ 23 мая 2018

При выполнении:

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

, тогда просто barcode.width дает свою ширину:)

Действительно Code128 является подклассом класса MultiWidthBarcode, который сам является подклассом Barcode, который имеет свойство width, определенное здесь :

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

Затем, вот как разместить штрих-код в правом нижнем углу листа А4:

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