Ich habe etwas Forschung, aber konnte nicht herausfinden.Reportlab: Barcode nicht auf der Oberseite der PDF-Datei gezeichnet
Ich habe unter Code, der Barcode in eine PDF-Datei schreibt. Ich habe versucht, die Breite und Höhe in diesem Teil des Codes zu ändern, aber es ändert sich nur am Ende der PDF-Datei. Wie schreibe ich den Barcode am Anfang der PDF-Datei?
drawon_width = 0.1*inch
drawon_height = 0.1*inch
barcode.drawOn(c, drawon_width, drawon_height)
Voll 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)])