Skip to main content

barcode-pao-native

高性能バーコード生成ライブラリ for Python(C++ネイティブ拡張版)

概要

barcode-pao-native は、C++で実装されたバーコードライブラリをPythonから利用できるようにしたパッケージです。pybind11を使用してC++コードを直接呼び出すため、高速なバーコード生成が可能です。

対応バーコード(18種)

1次元バーコード(11種)

  • Code39 - 英数字対応の汎用バーコード
  • Code93 - Code39の拡張版
  • Code128 - 全ASCII文字対応の高密度バーコード
  • GS1-128 - 物流・流通向けバーコード(コンビニ収納代行対応)
  • NW-7 (Codabar) - 血液銀行・宅配便向けバーコード
  • Matrix 2 of 5 - 工業用バーコード
  • NEC 2 of 5 - NECが開発した2 of 5系バーコード
  • JAN-8 - 日本の商品コード(8桁)
  • JAN-13 - 日本の商品コード(13桁)
  • UPC-A - 北米の商品コード(12桁)
  • UPC-E - UPC-Aの短縮版(8桁)

GS1 DataBar(3種)

  • GS1 DataBar 14 - 標準型(オムニ/スタック対応)
  • GS1 DataBar Limited - 限定型
  • GS1 DataBar Expanded - 拡張型(スタック対応)

2次元バーコード(3種)

  • QRコード - 日本発の2次元コード
  • DataMatrix - 工業用途の2次元コード
  • PDF417 - 運転免許証等で使用される2次元コード

特殊バーコード(1種)

  • 郵便カスタマバーコード - 日本郵便の住所表示バーコード

インストール

pip install barcode-pao-native

使用例

QRコード生成

from barcode_pao_native import QR

# QRコードインスタンスを作成
qr = QR()

# エラー訂正レベルを設定(L/M/Q/H)
qr.set_error_correction_level("H")

# 日本語をエンコードする場合
qr.set_string_encoding("shift-jis")

# Base64エンコードされた画像を取得
base64_image = qr.draw("https://example.com", 200)

# バイナリデータとして取得
image_bytes = qr.draw_bytes("Hello, World!", 200)

# ファイルに保存
qr.draw_to_file("Hello, World!", 200, "qrcode.png")

Code128バーコード生成

from barcode_pao_native import Code128

# Code128インスタンスを作成
code128 = Code128()

# テキスト表示を有効化
code128.set_show_text(True)

# 出力フォーマットをSVGに設定
code128.set_output_format("svg")

# コードモードを設定(AUTO/A/B/C)
code128.set_code_mode("AUTO")

# バーコード生成
svg_data = code128.draw("ABC-12345", 300, 100)

色のカスタマイズ

from barcode_pao_native import Code39

code39 = Code39()

# 前景色(バーの色)をRGBAで設定
code39.set_foreground_color(0, 0, 128, 255)  # 紺色

# 背景色をRGBAで設定
code39.set_background_color(255, 255, 200, 255)  # 薄黄色

base64_image = code39.draw("12345", 200, 80)

GS1-128 コンビニ収納代行バーコード

from barcode_pao_native import GS1_128

gs1 = GS1_128()
gs1.set_show_text(True)

# 標準料金代理収納用バーコード
# 43桁または44桁の数字を指定
convenience_code = "9101234567890123456789012345678901234567890123"
base64_image = gs1.draw_convenience(convenience_code, 400, 100)

郵便カスタマバーコード

from barcode_pao_native import YubinCustomer

yubin = YubinCustomer()

# 郵便番号 + 住所表示番号
# 例: 〒100-0001 東京都千代田区1-2-3
code = "1000001-1-2-3"
base64_image = yubin.draw(code, 50)  # 高さのみ指定(幅は自動)

API リファレンス

共通メソッド(全バーコードクラス)

メソッド 説明
set_output_format(format) 出力フォーマットを設定("png", "jpg", "gif", "svg")
set_foreground_color(r, g, b, a=255) 前景色(バーの色)を設定
set_background_color(r, g, b, a=255) 背景色を設定
draw(code, width, height) Base64エンコードされた画像を返す
draw_bytes(code, width, height) バイナリデータを返す
draw_to_file(code, width, height, filepath) ファイルに保存

1次元バーコード固有メソッド

メソッド 説明
set_show_text(show) バーコード下のテキスト表示
set_text_font_scale(scale) テキストのフォントサイズスケール
set_text_gap(scale) バーとテキストの間隔
set_fit_width(fit) 幅に合わせてバーを調整
set_px_adjust_black(adjust) 黒バーのピクセル調整
set_px_adjust_white(adjust) 白バーのピクセル調整

2次元バーコード固有メソッド

クラス メソッド 説明
QR set_error_correction_level(level) エラー訂正レベル(L/M/Q/H)
QR set_version(version) バージョン(0=自動, 1-40)
QR set_encode_mode(mode) エンコードモード(NUMERIC/ALPHANUMERIC/BYTE/KANJI)
DataMatrix set_code_size(size) シンボルサイズ("AUTO", "10x10"など)
DataMatrix set_encode_scheme(scheme) エンコードスキーム(AUTO/ASCII/C40/TEXT/X12/EDIFACT/BASE256)
PDF417 set_error_level(level) エラー訂正レベル(-1=自動, 0-8)
PDF417 set_columns(columns) 列数
PDF417 set_rows(rows) 行数

出力フォーマット

フォーマット 説明
png PNG画像(デフォルト)
jpg / jpeg JPEG画像
gif GIF画像
svg SVGベクター画像

動作環境

  • Python 3.8以上
  • Windows / macOS / Linux

ライセンス

MIT License

関連パッケージ

Metadata

Release files for barcode-pao-native 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for barcode-pao-native 1.1.0
File
barcode_pao_native-1.1.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
barcode_pao_native-1.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
barcode_pao_native-1.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
barcode_pao_native-1.1.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
barcode_pao_native-1.1.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details

Total release size: 10.2 MB

Release files / barcode_pao_native-1.1.0-cp313-cp313-win_amd64.whl

Download URL barcode_pao_native-1.1.0-cp313-cp313-win_amd64.whl
Size 2.0 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
fc71cf109bba430a0e273e6c77eff625aab830c2df34cf80b51d03c0957d7482
BLAKE2b-256 checksum
How to use checksums
8442482051930285f467482f75b28f75701c6520e20fc050ba253641108c80c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / barcode_pao_native-1.1.0-cp312-cp312-win_amd64.whl

Download URL barcode_pao_native-1.1.0-cp312-cp312-win_amd64.whl
Size 2.0 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
da52ecc3a2809ee6dd6f4689f8a0fdf5cd9b7d7f00533b605b49bf1c16f9bb36
BLAKE2b-256 checksum
How to use checksums
2e23262094b13ef36f589348797dbb201f5ec49c4fdc32a22e9b56388b1352c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / barcode_pao_native-1.1.0-cp311-cp311-win_amd64.whl

Download URL barcode_pao_native-1.1.0-cp311-cp311-win_amd64.whl
Size 2.0 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
906fa5dfed55905adfd89007da41289f9a3fd967dc206922bd7e132ddb3a3265
BLAKE2b-256 checksum
How to use checksums
c1587c1ba617a6a13dedb40cf60f19362526729e78d6049a1a42613313f78011
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / barcode_pao_native-1.1.0-cp310-cp310-win_amd64.whl

Download URL barcode_pao_native-1.1.0-cp310-cp310-win_amd64.whl
Size 2.0 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
08fe74fd734d0e99ede0ab7fec83b55d15e2e31484acf9ddd4388f41a6ddbc49
BLAKE2b-256 checksum
How to use checksums
31df237c697aa9afcb9f2b987167bcfb4168bb8940a0cffe7fb8833a87f46cfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / barcode_pao_native-1.1.0-cp39-cp39-win_amd64.whl

Download URL barcode_pao_native-1.1.0-cp39-cp39-win_amd64.whl
Size 2.0 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
5287b6c7e3118492708918325bdec901fe1eb193ff4b368cfdd21b1feca7fb31
BLAKE2b-256 checksum
How to use checksums
a77e6be6f488a382b48bfdd09b9062fc7122d253f97ef95d534fba23bb29c2b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

5 release files

1.0.1

1 release file

1.0.0

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page