Ich benötige einen QR-Code der beginnend mit einem Leerzeichen einen kurzen String, gefolgt von einem Zeilenwechsel kodiert. Also etwas in dieser Art: „ Test\n“.
Dies:
import qrcode
qr = qrcode.QRCode(version=1, box_size=10, border=2)
text=" Test\n"
qr.add_data(text)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save("PG50.png")
Ergibt folgenden QR-Code:
Wenn man das mit einem Handscanner scannt, hat das ‚\n‘ ganz genau: gar keinen Effekt.
Nach vielen, fast verzweifelten, Ausprobieren und testen, habe ich folgende Lösung gefunden:
import qrcode
qr = qrcode.QRCode(version=1, box_size=10, border=2)
text=" PG50\n\r"
qr.add_data(text)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save("PG50nr.png")
Ergibt folgenden QR-Code:
Was ist der Unterschied?
Hinter dem Text wird nicht nur „\n“ eingefügt, sondern „\n\r“, also mit einem zusätzlichen \r (=Wagenrücklauf).
Warum und wieso? Keine Ahnung!
Kommentare
Keine Kommentare
Kommentare