ich habe da mal eine allgemeine Frage zu Barcodes.
Ich erstelle mit
Code: Alles auswählen
def create_barcode_on_pdf(self, barcode_value, original_path):
pdf = pdfquery.PDFQuery(original_path)
total_pages = pdf.doc.catalog['Pages'].resolve()['Count']
output = PdfFileWriter()
for i in range(0, total_pages):
pdf.load(i)
# NOT DUPLICATE PAGE
packet = BytesIO()
c = canvas.Canvas(packet, pagesize=letter)
barcode = code39.Extended39(str(1234567890), barWidth=0.5 * mm, barHeight=20 * mm)
barcode.drawOn(c, 100 * mm, 100 * mm)
c.save()
packet.seek(0)
new_pdf = PdfFileReader(packet)
existing_pdf = PdfFileReader(open(original_path, "rb"))
page = existing_pdf.getPage(i)
page.mergePage(new_pdf.getPage(0))
output.addPage(page)
if not os.path.exists(self.fld_path_barcodes):
os.makedirs(self.fld_path_barcodes)
outputStream = open(os.path.join(self.fld_path_barcodes, f'{barcode_value}.pdf'), "wb")
output.write(outputStream)
outputStream.close()
auf einem schon bestehenden PDF zusätzlich einen Barcode. Danach drucke ich das PDF aus und scanne den Barcode.
Der gescannte Barcode besteht aber immer aus der angegebenen Zahl und einer an letzter Stelle angehängten Ziffer.
Wenn ich den Barcode str(1234567890) erstellen will, wird ein Barcode 12345678902 ausgelesen.
Durch die zusätzlich angehängte 2 am Ende, kann ich natürlich den Barcode (also das PDF) nicht mehr wiederfinden.
Wenn ich den Barcode 0123456789 angebe, möchte ich auch 0123456789 auslesen.
Wie bekomme ich es hin, einen Barcode zu erzeugen, der ausschließlich aus der Zahl besteht, die ich angebe?