Untitled
unknown
plain_text
7 months ago
930 B
1
Indexable
Never
from reportlab.graphics.barcode import createBarcodeDrawing from reportlab.graphics import renderPM def generate_barcode(product_code): dpi = 300 # Use a fixed DPI value (adjust it according to your printer's DPI) page_size_mm = (25.4, 54) page_size_pixels = tuple(int(dpi * page_size_mm[i] / 25.4) for i in (0, 1)) desired_width = page_size_pixels[1] - 10 # Subtract a small margin desired_height = page_size_pixels[0] - 10 # Subtract a small margin barcode_drawing = createBarcodeDrawing( 'Code128', value=product_code, barWidth=(desired_width / 110), # Adjust the value to fit the desired width barHeight=desired_height, humanReadable=True, ) barcode_drawing.rotate(90) barcode_image = renderPM.drawToPIL(barcode_drawing) output_filename = 'temp_barcode' barcode_image.save(output_filename + ".png") return output_filename