2015-02-26 2 views
0

Я хочу создать ярлык (57 * 32 мм) с штрих-кодом code128. Это все хорошо, но штрихкод малым = ( Как я могу сделать этот штрих-код большеpython reportlab barcode code128 размер

from reportlab.graphics.barcode import code128 
from reportlab.lib.units import mm 
from reportlab.pdfgen import canvas 

c = canvas.Canvas("test.pdf") 
c.setPageSize((57*mm,32*mm)) 
barcode = code128.Code128("123456789") 
barcode.drawOn(c, 2*mm, 20*mm) 
c.showPage() 
c.save() 
+0

дополнение: размер следует исправить. Поэтому штрих-коды с разными значениями должны иметь одинаковый размер. – Steffen

ответ

2

Вы можете установить размер штрих-кода с помощью barHeight и BarWidth:

barcode = code128.Code128("123456789",barHeight=.9*inch,barWidth = 1.2) 
+0

привет, действительно ли нет способа установить штрих-код на размер исправления ?? – Steffen

2

Глядя вверх по исходный код для ReportLab на GitHub, я обнаружил, что объект штрих-кода имеет свойство ширины. просто используя

canvas.saveState() 
canvas.translate(2*cm, 3*cm) # bottom left corner of the barcode 
canvas.scale(15*cm/barcode.width, 2*cm/barcode.height) # resize (15 cm and 2 cm) 
barcode.drawOn(canvas, 0, 0) 
canvas.restoreState() 

Вы можете получить желаемый точный размер.

Смежные вопросы