Das Erzeugen von QR‑Codes ist in Post‑, Versand‑ und Logistikanwendungen ein häufiges Bedürfnis. Wenn Ihre Python‑Anwendung einen QR‑Code erstellen muss, der Royal‑Mail‑bezogene Daten wie einen Tracking‑Wert, Routing‑Wert, eine Postleitzahl oder eine benutzerdefinierte Post‑Payload enthält, können Sie Aspose.BarCode for Python via .NET verwenden, um das QR‑Bild zu generieren und es zur Verifizierung wieder auszulesen.
In diesem Artikel erstellen wir einen Royal Mail QR‑Code in Python und dekodieren anschließend das erzeugte QR‑Code‑Bild. Die Codebeispiele sind in zwei klare Abschnitte unterteilt: einen für die QR‑Code‑Generierung und einen für das Auslesen des QR‑Codes.
Hinweis: In diesem Artikel bezeichnet “Royal Mail QR code” einen Standard‑QR‑Code, der Royal‑Mail‑bezogene Nutzdaten speichert. Wenn Sie Royal Mail Mailmark benötigen, handelt es sich um einen anderen Post‑Barcode‑Typ, der eine spezifische Mailmark‑Datenstruktur erfordert.
Installieren Aspose.BarCode for Python via .NET
Installieren Sie das Aspose.BarCode-Paket von PyPI mit dem folgenden Befehl:
pip install aspose-barcode-for-python-via-net
Nach der Installation können Sie die Generierungs‑API verwenden, um Barcode‑Bilder zu erstellen, und die Erkennungs‑API, um Barcode‑Bilder zu lesen.
Schritte zum Generieren eines Royal Mail QR-Codes in Python
Befolgen Sie diese Schritte, um einen Royal Mail QR‑Code zu erstellen:
- Importieren Sie den
generation-Namespace ausaspose.barcode. - Bereiten Sie den Royal‑Mail‑Payload‑Text vor, den Sie codieren möchten.
- Erstellen Sie ein
BarcodeGenerator‑Objekt. - Setzen Sie den Barcode‑Typ auf
generation.EncodeTypes.QR. - Speichern Sie das generierte QR‑Code‑Bild mit
generation.BarCodeImageFormat.PNG.
Royal Mail QR-Code in Python generieren
Das folgende Codebeispiel zeigt, wie man einen Royal Mail QR‑Code erzeugt und als PNG‑Bild speichert.
from aspose.barcode import generation
# Data to encode in the QR code
# Replace this with your actual Royal Mail payload / tracking / label data
royal_mail_data = "ROYALMAIL|TRACKING=AA123456789GB|POSTCODE=SW1A1AA"
# Generate Royal Mail QR Code
file_name = "royal_mail_qr.png"
generator = generation.BarcodeGenerator(
generation.EncodeTypes.QR,
royal_mail_data
)
generator.save(file_name, generation.BarCodeImageFormat.PNG)
print("QR Code generated:", file_name)
In diesem Beispiel erstellt die Klasse BarcodeGenerator einen QR‑Code aus dem bereitgestellten Text. Der Wert generation.EncodeTypes.QR gibt an, dass der ausgegebene Barcode ein QR‑Code sein muss. Schließlich exportiert die Methode save() das erzeugte Barcode‑Bild als PNG‑Datei.
Sie können den Beispielwert von royal_mail_data durch Ihre echten Royal Mail‑Payload ersetzen. Zum Beispiel können Sie eine Sendungsnummer, eine Etiketten‑Kennung, eine Postleitzahl oder einen anderen für Ihre Anwendung erforderlichen Postwert codieren.
Schritte zum Lesen eines Royal Mail QR-Codes in Python
Nachdem Sie den QR‑Code generiert haben, können Sie ihn wieder einlesen, um zu überprüfen, ob die codierten Daten korrekt sind. Befolgen Sie diese Schritte:
- Importieren Sie den
barcoderecognition‑Namespace ausaspose.barcode. - Erstellen Sie eine
BarCodeReader‑Instanz und übergeben Sie den Pfad zum QR‑Code‑Bild. - Setzen Sie den Barcode‑Typ auf
br.DecodeType.QR. - Rufen Sie
read_bar_codes()auf, um die Barcode‑Ergebnisse zu extrahieren. - Lesen Sie den decodierten Text aus der
code_text‑Eigenschaft.
Royal Mail QR-Code in Python lesen
Das folgende Codebeispiel zeigt, wie das erzeugte Royal Mail QR‑Code‑Bild gelesen wird.
from aspose.barcode import barcoderecognition as br
# Read Royal Mail QR Code
file_name = "royal_mail_qr.png"
reader = br.BarCodeReader(file_name, br.DecodeType.QR)
for result in reader.read_bar_codes():
print("Barcode Type:", result.code_type_name)
print("Barcode Data:", result.code_text)
Die BarCodeReader‑Klasse liest das Barcode‑Bild vom angegebenen Dateipfad. Der Wert br.DecodeType.QR weist den Leser an, nach QR‑Codes zu suchen. Die Methode read_bar_codes() gibt die erkannten Barcode‑Ergebnisse zurück, und jedes Ergebnis stellt den Barcode‑Typ und den decodierten Text über code_type_name und code_text bereit.
Vollständiges Beispiel zum Generieren und Lesen
Sie können die Generierung und Erkennung auch in einem einzigen Skript kombinieren. Dies ist nützlich, wenn Sie den erzeugten QR‑Code sofort nach seiner Erstellung validieren möchten.
from aspose.barcode import generation
from aspose.barcode import barcoderecognition as br
# Data to encode in the QR code
# Replace this with your actual Royal Mail payload / tracking / label data
royal_mail_data = "ROYALMAIL|TRACKING=AA123456789GB|POSTCODE=SW1A1AA"
# 1) Generate Royal Mail QR Code
file_name = "royal_mail_qr.png"
generator = generation.BarcodeGenerator(
generation.EncodeTypes.QR,
royal_mail_data
)
generator.save(file_name, generation.BarCodeImageFormat.PNG)
print("QR Code generated:", file_name)
# 2) Read Royal Mail QR Code
reader = br.BarCodeReader(file_name, br.DecodeType.QR)
for result in reader.read_bar_codes():
print("Barcode Type:", result.code_type_name)
print("Barcode Data:", result.code_text)
Dieses vollständige Skript erstellt zunächst ein QR‑Code‑Bild mit dem Namen royal_mail_qr.png. Anschließend lädt es dasselbe Bild mit BarCodeReader, dekodiert den QR‑Code und gibt den Barcode‑Typ sowie die codierten Daten aus.
Validieren der decodierten QR-Code-Daten
Für Post‑ und Versand‑Workflows ist es eine gute Praxis, jeden erzeugten QR‑Code vor dem Drucken oder dem Senden an ein anderes System zu validieren. Sie können das decodierte Ergebnis mit der ursprünglichen Nutzlast vergleichen:
for result in reader.read_bar_codes():
if result.code_text == royal_mail_data:
print("QR code validation passed.")
else:
print("QR code validation failed.")
Dieser einfache Validierungsschritt hilft zu bestätigen, dass das erzeugte QR‑Bild dieselben Daten enthält, die Ihre Anwendung zu codieren beabsichtigte.
Umgang mit verschiedenen QR-Code-Bildformaten
Die obigen Beispiele speichern den QR‑Code als PNG, weil PNG ein verlustfreies Bildformat ist und in der Regel eine gute Wahl für Druck‑ und Scan‑Workflows darstellt. Aspose.BarCode kann bei Bedarf Barcode‑Bilder auch in anderen unterstützten Formaten speichern.
| Format | Anwendungsfall |
|---|---|
| PNG | Verlustfreie Ausgabe für Druck und Scannen |
| JPG | Kleinere Dateien, bei denen leichte Kompression akzeptabel ist |
| BMP | Einfache Bitmap‑Ausgabe für Altsysteme |
| GIF | Leichte Bildausgabe für grundlegende Anwendungsfälle |
| TIFF | Archivierungs‑ oder hochauflösende Dokumenten‑Workflows |
Um das Bildformat zu ändern, aktualisieren Sie das zweite Argument der save()‑Methode. Verwenden Sie beispielsweise den entsprechenden Wert aus generation.BarCodeImageFormat.
Best Practices für Royal Mail QR-Code-Workflows
- Verwenden Sie das genaue Payload-Format, das von Ihrem Royal Mail-, Versand- oder Etikettenerstellungs-Workflow verlangt wird.
- Halten Sie das QR-Code-Bild klar, mit hohem Kontrast und ohne Verzerrungen.
- Bevorzugen Sie verlustfreie Formate wie PNG für gedruckte Etiketten.
- Dekodieren Sie das erzeugte Bild nach der Erstellung, um das codierte Payload zu überprüfen.
- Speichern Sie sowohl das ursprüngliche Payload als auch das dekodierte Ergebnis in den Protokollen, wenn Sie Etikettenprobleme beheben.
Gemeinsame API-Klassen verwendet
Die folgenden Aspose.BarCode for Python via .NET Klassen und Werte werden in diesem Artikel verwendet:
| API | Zweck |
|---|---|
generation.BarcodeGenerator | Erzeugt Barcode-Bilder. |
generation.EncodeTypes.QR | Gibt an, dass QR-Code als Barcode-Typ für die Erzeugung verwendet wird. |
generation.BarCodeImageFormat.PNG | Speichert das erzeugte Barcode-Bild als PNG. |
br.BarCodeReader | Liest Barcode-Bilder. |
br.DecodeType.QR | Gibt an, dass QR-Code als Barcode-Typ für die Erkennung verwendet wird. |
read_bar_codes() | Gibt die erkannten Barcode-Ergebnisse aus dem Bild zurück. |
result.code_text | Liefert den dekodierten Barcode-Text. |
result.code_type_name | Liefert den Namen des erkannten Barcode-Typs. |
Fazit
Sie können Royal Mail‑QR‑Codes in Python mit nur wenigen Codezeilen mithilfe von Aspose.BarCode for Python via .NET erzeugen und lesen. Verwenden Sie generation.BarcodeGenerator mit generation.EncodeTypes.QR, um den QR‑Code zu erstellen, speichern Sie ihn mit generation.BarCodeImageFormat.PNG und verwenden Sie anschließend br.BarCodeReader mit br.DecodeType.QR, um das erzeugte Bild zu dekodieren.
Dieser Erzeugungs‑ und Erkennungs‑Workflow ist nützlich, um QR‑Codes zu validieren, bevor sie auf Postetiketten gedruckt, in Versandsystemen gespeichert oder an nachgelagerte Logistik‑Anwendungen gesendet werden.
FAQs
Was ist der einfachste Weg, einen Royal Mail QR‑Code in Python zu erzeugen?
Verwenden Siegeneration.BarcodeGeneratormitgeneration.EncodeTypes.QR, übergeben Sie Ihren Royal Mail‑bezogenen Payload‑Text und speichern Sie die Ausgabe mitgenerator.save().Wie lese ich ein Royal Mail QR-Code-Bild in Python?
Verwenden Siebr.BarCodeReader(file_name, br.DecodeType.QR)und iterieren Sie über die vonread_bar_codes()zurückgegebenen Ergebnisse.Welche Eigenschaft gibt den decodierten QR-Code-Text zurück?
Verwenden Sieresult.code_text, um den decodierten Wert aus jedem Barcode-Erkennungsergebnis zu erhalten.Kann ich diesen Code für Royal Mail Mailmark verwenden?
Nicht direkt. Dieser Artikel verwendet die Standard‑QR‑Code‑Generierung und -Erkennung. Royal Mail Mailmark ist ein separater Post‑Barcode‑Typ mit einer eigenen erforderlichen Datenstruktur.
