J'ai fait quelques recherches, mais je n'ai pas pu comprendre.Reportlab: code à barres non dessiné sur le haut du fichier PDF
J'ai ci-dessous le code qui écrit le code à barres sur un fichier PDF. J'ai essayé de faire varier la largeur et la hauteur de cette partie du code, mais cela ne change qu'en bas du fichier pdf. comment puis-je faire le code à barres écrire au début du fichier PDF?
drawon_width = 0.1*inch
drawon_height = 0.1*inch
barcode.drawOn(c, drawon_width, drawon_height)
code complet:
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)])