QRコードの生成は、郵便、配送、物流アプリケーションで一般的な要件です。Pythonアプリケーションで、追跡値、ルーティング値、郵便番号、またはカスタム郵便ペイロードなど、Royal Mail に関連するデータを含む QR コードを作成する必要がある場合は、Aspose.BarCode for Python via .NET を使用して QR 画像を生成し、検証のために読み取ることができます。
この記事では、PythonでRoyal Mail QRコードを作成し、生成されたQRコード画像をデコードします。コード例は2つの明確なセクションに分かれており、1つはQRコードの生成、もう1つはQRコードの読み取りです。
注: 本記事では、「Royal Mail QR code」は、Royal Mail に関連するペイロードデータを格納する標準的な QR コードを指します。Royal Mail Mailmark が必要な場合は、別の郵便バーコードタイプであり、特定の Mailmark データ構造が必要です。
インストール Aspose.BarCode for Python via .NET
次のコマンドを使用して、PyPI から Aspose.BarCode パッケージをインストールします:
pip install aspose-barcode-for-python-via-net
インストール後、生成 API を使用してバーコード画像を作成し、認識 API を使用してバーコード画像を読み取ることができます。
PythonでRoyal Mail QRコードを生成する手順
Royal Mail QRコードを生成する手順は次のとおりです:
aspose.barcodeからgeneration名前空間をインポートします。- エンコードしたい Royal Mail のペイロードテキストを準備します。
BarcodeGeneratorオブジェクトを作成します。- バーコードのタイプを
generation.EncodeTypes.QRに設定します。 generation.BarCodeImageFormat.PNGを使用して生成された QR コード画像を保存します。
PythonでRoyal Mail QRコードを生成する
以下のコード例は、Royal Mail QRコードを生成し、PNG画像として保存する方法を示しています。
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)
この例では、BarcodeGenerator クラスは提供されたテキストから QR コードを作成します。generation.EncodeTypes.QR 値は、出力バーコードが QR コードであることを指定します。最後に、save() メソッドは生成されたバーコード画像を PNG ファイルとしてエクスポートします。
サンプルの royal_mail_data の値を実際の Royal Mail ペイロードに置き換えることができます。たとえば、トラッキング番号、ラベル識別子、郵便番号、またはアプリケーションで必要なその他の郵便関連の値をエンコードすることができます。
PythonでRoyal Mail QRコードを読み取る手順
QRコードを生成した後、エンコードされたデータが正しいことを確認するために、コードを再度読み取ることができます。次の手順に従ってください:
aspose.barcodeからbarcoderecognition名前空間をインポートします。BarCodeReaderインスタンスを作成し、QRコード画像のパスを渡します。- バーコードのタイプを
br.DecodeType.QRに設定します。 read_bar_codes()を呼び出してバーコード結果を抽出します。code_textプロパティからデコードされたテキストを読み取ります。
PythonでRoyal Mail QRコードを読み取る
以下のコード例は、生成されたRoyal Mail QRコード画像の読み取り方法を示しています。
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)
BarCodeReader クラスは、指定されたファイルパスからバーコード画像を読み取ります。br.DecodeType.QR の値は、リーダーに QR コードを検索させます。read_bar_codes() メソッドは検出されたバーコード結果を返し、各結果は code_type_name と code_text を通じてバーコードの種類とデコードされたテキストを公開します。
完全な生成と読み取りの例
生成と認識を単一のスクリプトで組み合わせることもできます。これは、生成した QR コードを作成直後にすぐに検証したい場合に便利です。
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)
この完全なスクリプトは、まず royal_mail_qr.png という名前の QR コード画像を作成します。その後、同じ画像を BarCodeReader で読み込み、QR コードをデコードし、バーコードの種類とエンコードされたデータを出力します。
デコードされた QR コード データの検証
郵便および出荷ワークフローでは、印刷したり別のシステムに送信したりする前に、生成されたすべての QR コードを検証することがベストプラクティスです。デコード結果を元のペイロードと比較できます:
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.")
このシンプルな検証ステップは、生成された QR 画像がアプリケーションでエンコードしようとしたデータと同じであることを確認するのに役立ちます。
さまざまな QR コード画像形式の処理
上記の例では、QRコードを PNG として保存しています。PNG はロスレス画像フォーマットであり、印刷やスキャンのワークフローに通常適した選択です。Aspose.BarCode は、必要に応じて他のサポートされているフォーマットでもバーコード画像を保存できます。
| 形式 | 使用例 |
|---|---|
| PNG | 印刷やスキャン用のロスレス出力 |
| JPG | 若干の圧縮が許容できる、サイズが小さいファイル |
| BMP | レガシーシステム向けのシンプルなビットマップ出力 |
| GIF | 基本的な使用例向けの軽量画像出力 |
| TIFF | アーカイブや高解像度ドキュメントワークフロー向け |
画像形式を変更するには、save() メソッドの2番目の引数を更新します。たとえば、generation.BarCodeImageFormat の対応する値を使用します。
Royal Mail QRコードワークフローのベストプラクティス
- ロイヤルメール、配送、またはラベル生成ワークフローで必要とされる正確なペイロード形式を使用してください。
- QRコード画像は鮮明で高コントラスト、歪みがないように保ってください。
- 印刷ラベルには PNG などのロスレス形式を優先してください。
- 作成後に生成された画像をデコードし、エンコードされたペイロードを検証してください。
- ラベルの問題をトラブルシューティングする際は、元のペイロードとデコード結果の両方をログに保存してください。
使用される共通 API クラス
この記事で使用されているクラスと値は、次の Aspose.BarCode for Python via .NET です:
| API | 目的 |
|---|---|
generation.BarcodeGenerator | バーコード画像を生成します。 |
generation.EncodeTypes.QR | 生成時のバーコードタイプとして QR コードを指定します。 |
generation.BarCodeImageFormat.PNG | 生成されたバーコード画像を PNG として保存します。 |
br.BarCodeReader | バーコード画像を読み取ります。 |
br.DecodeType.QR | 認識時のバーコードタイプとして QR コードを指定します。 |
read_bar_codes() | 画像から検出されたバーコード結果を返します。 |
result.code_text | デコードされたバーコードテキストを取得します。 |
result.code_type_name | 検出されたバーコードタイプ名を取得します。 |
結論
Python で数行のコードだけで Royal Mail QR コードを生成および読み取ることができます。Aspose.BarCode for Python via .NET を使用します。generation.BarcodeGenerator を generation.EncodeTypes.QR と共に使用して QR コードを作成し、generation.BarCodeImageFormat.PNG で保存し、次に br.BarCodeReader を br.DecodeType.QR と共に使用して生成された画像をデコードします。
この生成および認識ワークフローは、QRコードが郵便ラベルに印刷される前、出荷システムに保存される前、または下流の物流アプリケーションに送信される前に検証するのに役立ちます。
よくある質問
PythonでRoyal Mail QRコードを生成する最も簡単な方法は何ですか?
generation.BarcodeGeneratorをgeneration.EncodeTypes.QRと共に使用し、Royal Mail に関連するペイロードテキストを渡し、generator.save()で出力を保存します。PythonでRoyal Mail QRコード画像を読み取るにはどうすればよいですか?
br.BarCodeReader(file_name, br.DecodeType.QR)を使用し、read_bar_codes()が返す結果をループ処理します。どのプロパティがデコードされたQRコードテキストを返しますか?
各バーコード認識結果からデコードされた値を取得するには、result.code_textを使用します。このコードをRoyal Mail Mailmarkで使用できますか?
直接はできません。この記事では標準的なQRコードの生成と認識を使用しています。Royal Mail Mailmarkは、独自の必須データ構造を持つ別個の郵便バーコードタイプです。
