Barcode.Pythonは、Pythonでバーコードを生成するライブラリです。
pip installで導入できるNative版WASM版に加え、
ReportLab/Pillow対応のPure Python版(ソースコード付き)を提供しています。

最新リリース情報

Barcode.Python 1.0.0

2025年12月 リリース

Pythonによるバーコード生成ライブラリの初回リリース。
Native版(pybind11)・WASM版(WebAssembly)・Pure Python版(ソースコード付き)の3パッケージを提供。
PNG / SVG / ReportLab / Pillow出力に対応。

今回のリリースについて、多くのメディアでご紹介いただいております。ありがとうございます。

3つのパッケージ

用途や環境に応じて、最適なパッケージをお選びください。Native版・WASM版は同じAPIで利用できます。

Native版(高速)

pip install barcode-pao-native

C++ を pybind11 で直接バインディング。高速に動作します。

  • C++ネイティブの高速描画
  • Windows対応(Visual Studio必要)
  • draw_bytes() でバイト列を直接取得
  • 大量バーコード生成に最適

11,000円(税込)

開発元推奨

WASM版(クロスプラットフォーム)

pip install barcode-pao-wasm

WebAssembly を Node.js 経由で実行。コンパイル不要で導入が簡単です。

  • コンパイル不要でインストール簡単
  • Windows / macOS / Linux 対応
  • Node.js v14以上が必要
  • 手軽にバーコード生成したい場合に最適

11,000円(税込)

⚖️ Native版 と WASM版 の比較

プラットフォーム Native版(レガシー) WASM版(推奨)
Windows ✅ 提供(VS必要) ✅ 推奨
macOS ✅ 推奨
Linux ✅ 推奨
開発元からのご案内:
pybind11 によるネイティブバインディング(Native版)は、過去に一般的に使われていた手法ですが、 Visual Studio 等の C++ コンパイル環境が必要で、Windows 以外では利用できません。
弊社では互換性のため Native版も引き続きリリースいたしますが、 現代の開発においては WASM版 を強くお勧めいたします。
WASM版はコンパイル不要で、Node.js さえあれば Windows・macOS・Linux のどの環境でも動作します。 APIは Native版と完全に同一のため、コードの変更は一切不要です。

製品概要

🐍

Pythonで完結

pip installするだけで、Pythonコードからバーコードを生成できます。

高速描画(Native版)

C++からpybind11でバインドされたNative版により、高速な描画を実現。

🖼️

PNG画像出力(Base64)

バーコードをBase64形式のPNG画像として出力。HTMLやメールに直接埋め込み可能。

📐

SVGベクター出力

拡大しても劣化しないSVG形式で出力。印刷や高解像度ディスプレイに最適です。

📦

PyPIパッケージ

PyPIからインストール可能。
barcode-pao-native / barcode-pao-wasm

🔄

統一API

Native版とWASM版で同じAPIを提供。コード変更なしでパッケージを切り替え可能。

対応バーコード

分類 対応バーコード
1次元バーコード
  • Code39 / Code93 / Code128
  • GS1-128 (EAN-128)
  • NW-7 (Codabar)
  • Matrix 2of5 / NEC 2of5
  • JAN-8 / JAN-13 (EAN-8 / EAN-13)
  • UPC-A / UPC-E
  • GS1 DataBar (標準型/限定型/拡張型)
  • 郵便カスタマバーコード
  • 標準料金代理収納用コンビニバーコード
2次元バーコード
  • QRコード
  • DataMatrix (GS1対応)
  • PDF417

製品価格・ライセンス

価格(1開発ライセンスあたり):

  • Native版 / WASM版:11,000円(税込) / 10,000円(税抜)
  • Pure Python版(ソースコード付き):22,000円(税込) / 20,000円(税抜)

※必要開発ライセンス数:Barcode.Pythonを利用して開発するパソコンの台数分必要になります。

※ランタイムライセンス:無償で提供されます。開発環境にのみライセンスが必要です。お客様環境など開発環境ではない場合は、配布は無償です。

※Native版・WASM版:1ライセンスで両方のパッケージをご利用いただけます。

※Pure Python版:ReportLab・Pillowへの直接描画に対応。Pythonソースコードが含まれます。

デモ・ダウンロード

試用版には「SAMPLE」の透かしが表示されます。製品版をご購入いただくと透かしなしでご利用いただけます。

📦

PIP版(Native / WASM)

pip install で導入。Native版(C++高速)とWASM版(クロスプラットフォーム)の2パッケージ。
PNG画像(Base64)・SVGベクター出力に対応。

🐍

Pure Python版(ソースコード付き)

Pure Python実装。ReportLabでPDF帳票に直接描画、PillowでPNG/JPEG画像出力。
全19種バーコード対応。ソースコード付き。

pip install(PIP版)

Native版(高速・C++バインディング)
pip install barcode-pao → pypi.org
WASM版(クロスプラットフォーム)
pip install barcode-pao-wasm → pypi.org

GitHub サンプルコード

Pure Python版 サンプル
C++版 サンプル(FFI / WASM)

マニュアル

PIP版 マニュアル

Native版/WASM版のAPIリファレンス、インストール方法を記載。

→ PDF→ HTML
Pure Python版 マニュアル

ReportLab/Pillow対応のPure Python版APIリファレンス。

→ PDF→ HTML

サンプルコード

Native版・WASM版のどちらでも同じAPIで利用できます。
importするパッケージ名を変えるだけで切り替え可能です。

基本的な使い方(1次元バーコード)

# Native版の場合
from barcode_pao_native import Code39

# WASM版の場合
# from barcode_pao_wasm import Code39

# Code39バーコードを生成(PNG - Base64出力)
bc = Code39()
bc.set_show_text(True)
base64_png = bc.draw("HELLO-123", 400, 100)

# HTMLに埋め込む場合
html = f'<img src="{base64_png}">'

# ファイルに保存
bc.draw_to_file("HELLO-123", 400, 100, "barcode.png")

SVGベクター出力

from barcode_pao_native import Code128

bc = Code128()
bc.set_show_text(True)
bc.set_output_format("svg")  # SVG出力を指定

svg_string = bc.draw("Hello-2024", 400, 100)

# ファイルに保存
with open("barcode.svg", "w") as f:
    f.write(svg_string)

QRコード生成

from barcode_pao_native import QR

qr = QR()
qr.set_string_encoding("UTF-8")       # 日本語対応
qr.set_error_correction_level("M")    # 誤り訂正レベル

# PNG出力
base64_png = qr.draw("https://www.pao.ac/", 300)

# SVG出力
qr.set_output_format("svg")
svg_string = qr.draw("https://www.pao.ac/", 300)

# ファイルに保存
qr.draw_to_file("https://www.pao.ac/", 300, "qrcode.png")

色やスタイルのカスタマイズ

from barcode_pao_native import Jan13

bc = Jan13()
bc.set_show_text(True)
bc.set_foreground_color(0, 0, 128, 255)    # 紺色のバー
bc.set_background_color(255, 255, 240, 255) # アイボリーの背景
bc.set_text_font_scale(1.2)                 # テキストサイズ拡大

base64_png = bc.draw("4901234567894", 300, 120)

全バーコード種類を利用

from barcode_pao_native import (
    Code39, Code93, Code128, GS1_128, NW7,
    Matrix2of5, NEC2of5, Jan8, Jan13, UPC_A, UPC_E,
    GS1DataBar14, GS1DataBarLimited, GS1DataBarExpanded,
    YubinCustomer, QR, DataMatrix, PDF417
)

# 2次元バーコード
dm = DataMatrix()
dm.set_code_size("AUTO")
base64_png = dm.draw("SAMPLE12345", 200)

pdf = PDF417()
pdf.set_columns(4)
pdf.set_error_level(3)
base64_png = pdf.draw("PDF417 Sample", 300)

# 郵便カスタマバーコード
yubin = YubinCustomer()
base64_png = yubin.draw("264-0025-1-2-503", 60)

動作環境

Native版 (barcode-pao-native)

  • Python 3.8 以上
  • Windows(Visual Studio 2022 ビルドツール必要)
  • pybind11(自動インストール)

WASM版 (barcode-pao-wasm)

  • Python 3.8 以上
  • Node.js v14 以上
  • Windows / macOS / Linux

Pure Python版 (pao_barcode)

  • Python 3.8 以上
  • 外部バイナリ依存なし(Pure Python)
  • Windows / macOS / Linux
  • ReportLab(PDF帳票描画を使用する場合)
  • Pillow(画像描画を使用する場合)

サポート

製品のサポートは情報共有のため で行わせていただいております。

個別にメールinfo@pao.acも多くいただいております。 どちらでも結構です。お問い合わせ・ご意見・ご要望等よろしくお願いいたします。

本製品(Barcode.Python)の保守・保証につきましては、 保守・保証に関する規定をご覧ください。