Python 轻松生成多种条形码、二维码 (Code EAN-QR code等)
from reportlab.graphics.barcode import code128, code39
from reportlab.graphics.shapes import Drawing
from reportlab.lib.units import mm
from reportlab.pdfgen import canvas
def generate_barcode(barcode_type, value, output_file):
"""
生成条形码并保存为PDF文件
:param barcode_type: 条形码类型('code128' 或 'code39')
:param value: 条形码的值
:param output_file: 输出PDF文件的路径
"""
drawing = Drawing(100, 50) # 创建一个绘图对象,尺寸为宽100mm, 高50mm
if barcode_type == 'code128':
barcode128 = code128.Code128(value, barHeight=10*mm, barWidth=0.5*mm)
drawing.add(barcode128)
elif barcode_type == 'code39':
barcode39 = code39.Code39(value, barHeight=10*mm, barWidth=0.5*mm)
drawing.add(barcode39)
else:
raise ValueError("Unsupported barcode type")
drawing.savePDF(output_file, deflate=9)
# 使用示例
generate_barcode('code128', '123456789012', 'output.pdf')
这段代码定义了一个generate_barcode
函数,它接受条形码类型、条形码值和输出文件路径作为参数。函数根据传入的条形码类型创建相应的条形码对象,并将其添加到绘图对象中。最后,使用savePDF
方法将绘图保存为PDF文件。这个函数可以轻松地用来生成和保存各种类型的条形码。
评论已关闭