PythonでQRコードを生成
Pythonはqrcodeやsegnoなどの強力なQRコードライブラリを提供し、スクリプティング、自動化、データパイプラインに最適です。ローカルでQRコードを生成するか、QRCode.fun APIで高度なスタイリングを取得できます。
インストール
pipを使用してPython QRコードライブラリをインストールします。
pip install qrcode[pil]pip install segnoPythonライブラリでQRコードを生成
人気のPython QRコードライブラリを使用したコード例。
Basic QR Code with qrcode
import qrcode
# Simple generation
img = qrcode.make('https://qrcode.fun')
img.save('qrcode.png')
# Advanced with customization
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4,
)
qr.add_data('https://qrcode.fun')
qr.make(fit=True)
img = qr.make_image(fill_color='#1A2B3C', back_color='white')
img.save('qrcode_custom.png')SVG Output with segno
import segno
qr = segno.make('https://qrcode.fun')
qr.save('qrcode.svg', scale=10)
qr.save('qrcode.png', scale=10, dark='#1A2B3C')QR Code with Logo
import qrcode
from PIL import Image
qr = qrcode.QRCode(error_correction=qrcode.constants.ERROR_CORRECT_H)
qr.add_data('https://qrcode.fun')
qr.make(fit=True)
img = qr.make_image(fill_color='#1A2B3C', back_color='white').convert('RGB')
# Add logo
logo = Image.open('logo.png')
logo_size = img.size[0] // 4
logo = logo.resize((logo_size, logo_size))
pos = ((img.size[0] - logo_size) // 2, (img.size[1] - logo_size) // 2)
img.paste(logo, pos)
img.save('qrcode_logo.png')PythonでAPIを使ってQRコードを生成
PythonからQRCode.fun APIを呼び出し、カスタムカラー、シェイプ、ロゴ付きのスタイル付きQRコードを生成します。
import requests
response = requests.post('https://qrcode.fun/api/generate-qr-styled', json={
'data': 'https://qrcode.fun',
'width': 300,
'height': 300,
'type': 'png',
'margin': 10,
'dotsOptions': {
'color': '#1A2B3C',
'type': 'rounded'
},
'cornersSquareOptions': {
'color': '#8564C3',
'type': 'extra-rounded'
},
'backgroundOptions': {
'color': '#FFFFFF'
}
})
result = response.json()
# result['data'] contains the base64 PNG data URL
print(result['data'][:50])QRコードライブプレビュー
今すぐPythonでQRコードを生成してみましょう。
ネイティブライブラリ vs API
Python QRコードライブラリの直接使用とQRCode.fun APIの比較。
| 機能 | ネイティブライブラリ | QRCode.fun API |
|---|---|---|
| セットアップの複雑さ | pip install + 画像用Pillow | requests経由の単一HTTPリクエスト |
| カスタマイズ | カラー、誤り訂正レベル、ボックスサイズ | フルスタイリング:カラー、シェイプ、ロゴ |
| オフラインサポート | はい | インターネット接続が必要 |
| メンテナンス | 手動でパッケージを更新 | 常に最新 |
| 出力形式 | PNG, SVG, EPS, ターミナル | PNG, SVG |
Python QRコードの使用例
Python開発者がQRコードを生成する一般的なシナリオ。
データサイエンスとレポート
自動化レポート、Jupyter notebook、データビジュアライゼーションにQRコードを埋め込み、ダッシュボードやデータセットにリンクします。
Webアプリ(Django/Flask)
DjangoやFlaskアプリでサーバーサイドQRコードを生成し、ユーザープロフィール、チケット、認証トークンに使用します。
自動化スクリプト
バッチ処理スクリプトでQRコードを作成し、在庫ラベル、資産追跡、文書管理に使用します。
IoTとRaspberry Pi
組み込みデバイスでQRコードを生成し、Wi-Fi設定、デバイスペアリング、設定共有に使用します。
Python QRコードエコシステム徹底解説
Pythonの豊富なエコシステムにより、データサイエンス、Webアプリ、自動化におけるQRコード生成に最適な言語の一つとなっています。
Django と FastAPI の統合パターン
Djangoでは、image/pngコンテンツタイプのHttpResponseを返すビューを作成します。FastAPIユーザーはQRコードバイトを含むStreamingResponseを返せます。どちらもRedisキャッシュの恩恵を受けられます。
Jupyter Notebook とデータサイエンスワークフロー
IPython.displayを使用してJupyterセル内でインラインでQRコードを生成できます。Plotly DashやStreamlitダッシュボードへのリンクも可能です。papermillを使った自動レポートパイプラインに組み込めます。
Pillow、segno と高度な画像処理
qrcodeライブラリはPillowと統合し、ロゴやグラデーションをサポートします。segnoはPillow不要の純粋なPython SVG出力を提供します。segnoのEPS出力は印刷ワークフローと統合できます。
よくある質問
PythonでのQRコード生成に関する一般的な質問。
PythonでQRコード生成を始めましょう
無料のオンラインジェネレーターを使用するか、APIをPythonスクリプト、Djangoアプリ、データパイプラインに統合しましょう。