I did some research but couldn't figure out.
I have below code which writes barcode on a PDF file. I tried varying the width and height at this part of code, but it changes only at the bottom of the pdf file. how do i make the barcode write at the start of the PDF file?
drawon_width = 0.1*inch
drawon_height = 0.1*inch
barcode.drawOn(c, drawon_width, drawon_height)
Full code:
import os
import sys
from reportlab.graphics.barcode import code128
from reportlab.graphics.shapes import Drawing
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import mm, inch
from reportlab.pdfgen import canvas
from reportlab.graphics import renderPDF
"""
barcode style is code128
"""
class BarCodeGeneration():
path = os.path.dirname(os.path.abspath(__file__))
files_path = os.path.join(path, 'barcode_files_generated')
def generate_codes(self, code_list):
absolute_file_path = BarCodeGeneration.files_path + 'Ahjfg7887kk'
c = canvas.Canvas("test.pdf")
for i in range(1):
barcode = code128.Code128("Ahjfg7887kk", barHeight=1.2*inch,barWidth = 1.6)
#import pdb; pdb.set_trace()
c.setPageSize((200*mm,80*mm))
drawon_width = 0.1*inch
drawon_height = 0.1*inch
import pdb; pdb.set_trace()
barcode.drawOn(c, drawon_width, drawon_height, 0.1)
textobject = c.beginText()
textobject.setTextOrigin(inch, 2.5*inch)
lines = ["Hi", "Hello"]
for line in lines:
textobject.textLine(line)
c.drawText(textobject)
c.showPage()
c.save()
obj1 = BarCodeGeneration()
obj1.generate_codes([('Ahjfg7887kk', 3)])