gemで導入できるNative版(C++ FFI)・WASM版に加え、
ソースコード付きのPure Ruby版を提供しています。
最新リリース情報
Barcode.Ruby 1.0.02026年2月 リリース
Rubyによるバーコード生成ライブラリの初回リリース。
Native版(C++ FFI)・WASM版(WebAssembly)・Pure Ruby版(ソースコード付き)の3パッケージを提供。
PNG / SVG出力に対応。全18種バーコード対応。
3つのパッケージ
用途や環境に応じて、最適なパッケージをお選びください。Native版・WASM版は同じAPIで利用できます。
Native版(高速)
gem install barcode_paoC++ DLL を Ruby FFI で直接バインディング。高速に動作します。
- C++ネイティブの高速描画
- Windows対応(DLL同梱)
- Ruby FFI gemで自動ロード
- 大量バーコード生成に最適
11,000円(税込)
WASM版(クロスプラットフォーム)
gem install barcode_pao_wasmWebAssembly を Node.js 経由で実行。コンパイル不要で導入が簡単です。
- コンパイル不要でインストール簡単
- Windows / macOS / Linux 対応
- Node.js v14以上が必要
- 手軽にバーコード生成したい場合に最適
11,000円(税込)
Pure Ruby版(ソースコード付き)
Rubyソースコードで提供Rubyで書かれたバーコードライブラリ。外部バイナリ依存なしで動作します。
- Rubyソースコード提供 ─ 自由にカスタマイズ可能
- 外部バイナリ依存なし ─ Pure Rubyで完結
- chunky_png / ttfunk による画像生成
- Windows / macOS / Linux 対応
22,000円(税込)
⚖️ Native版 と WASM版 の比較
| プラットフォーム | Native版(FFI) | WASM版(推奨) |
|---|---|---|
| Windows | ✅ 提供(DLL同梱) | ✅ 推奨 |
| macOS | ❌ | ✅ 推奨 |
| Linux | ❌ | ✅ 推奨 |
C++ DLL による FFI バインディング(Native版)は高速ですが、Windows のみの対応となります。
弊社では互換性のため Native版も引き続きリリースいたしますが、 現代の開発においては WASM版 を強くお勧めいたします。
WASM版はコンパイル不要で、Node.js さえあれば Windows・macOS・Linux のどの環境でも動作します。 APIは Native版と完全に同一のため、コードの変更は一切不要です。
製品概要
Rubyで完結
gem installするだけで、RubyコードからQRコードやバーコードを生成できます。
高速描画(Native版)
C++ DLLをRuby FFIでバインド。大量のバーコード生成にも高速に対応します。
PNG画像出力(Base64)
バーコードをBase64形式のPNG画像として出力。HTMLやメールに直接埋め込み可能。
SVGベクター出力
拡大しても劣化しないSVG形式で出力。印刷や高解像度ディスプレイに最適です。
クロスプラットフォーム
WASM版・Pure Ruby版はWindows / macOS / Linuxで動作。環境を選びません。
統一API
Native版とWASM版で同じAPIを提供。コード変更なしでパッケージを切り替え可能。
対応バーコード
| 分類 | 対応バーコード |
|---|---|
| 1次元バーコード |
|
| 2次元バーコード |
|
製品価格・ライセンス
価格(1開発ライセンスあたり):
- Native版 / WASM版:11,000円(税込) / 10,000円(税抜)
- Pure Ruby版(ソースコード付き):22,000円(税込) / 20,000円(税抜)
※必要開発ライセンス数:Barcode.Rubyを利用して開発するパソコンの台数分必要になります。
※ランタイムライセンス:無償で提供されます。開発環境にのみライセンスが必要です。お客様環境など開発環境ではない場合は、配布は無償です。
※Native版・WASM版:1ライセンスで両方のパッケージをご利用いただけます。
※Pure Ruby版:Rubyソースコードが含まれます。自由にカスタマイズ可能です。
デモ・ダウンロード
試用版には「SAMPLE」の透かしが表示されます。製品版をご購入いただくと透かしなしでご利用いただけます。
gem版(Native / WASM)
gem install で導入。Native版(C++ FFI高速)とWASM版(クロスプラットフォーム)の2パッケージ。
PNG画像(Base64)・SVGベクター出力に対応。
Pure Ruby版(ソースコード付き)
Pure Ruby実装。chunky_pngでPNG画像出力、SVGベクター出力に対応。
全18種バーコード対応。ソースコード付き。
gem install(gem版)
GitHub サンプルコード
Pure Ruby版 サンプル
C++版 サンプル(FFI / WASM)
サンプルコード
Native版・WASM版のどちらでも同じAPIで利用できます。
requireするパッケージ名を変えるだけで切り替え可能です。
基本的な使い方(1次元バーコード)
# Native版の場合
require "barcode_pao"
# WASM版の場合
# require "barcode_pao_wasm"
# Code39バーコードを生成(PNG - Base64出力)
bc = BarcodePao::Code39.new("png")
bc.set_show_text(true)
bc.draw("HELLO-123", 400, 100)
base64_png = bc.get_image_base64
# HTMLに埋め込む場合
html = "<img src=\"#{base64_png}\">"
SVGベクター出力
require "barcode_pao"
bc = BarcodePao::Code128.new("svg") # SVG出力を指定
bc.set_show_text(true)
bc.draw("Hello-2024", 400, 100)
svg_string = bc.get_svg
# ファイルに保存
File.write("barcode.svg", svg_string)
QRコード生成
require "barcode_pao"
qr = BarcodePao::QRCode.new("png")
qr.set_string_encoding("UTF-8") # 日本語対応
qr.set_error_correction_level("M") # 誤り訂正レベル
# PNG出力
qr.draw("https://www.pao.ac/", 300)
base64_png = qr.get_image_base64
# SVG出力
qr_svg = BarcodePao::QRCode.new("svg")
qr_svg.draw("https://www.pao.ac/", 300)
svg_string = qr_svg.get_svg
色やスタイルのカスタマイズ
require "barcode_pao"
bc = BarcodePao::JAN13.new("png")
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) # テキストサイズ拡大
bc.draw("4901234567894", 300, 120)
base64_png = bc.get_image_base64
全バーコード種類を利用
require "barcode_pao"
# 2次元バーコード
dm = BarcodePao::DataMatrix.new("png")
dm.draw("SAMPLE12345", 200)
base64_png = dm.get_image_base64
pdf = BarcodePao::PDF417.new("png")
pdf.set_columns(4)
pdf.set_error_level(3)
pdf.draw("PDF417 Sample", 300, 100)
base64_png = pdf.get_image_base64
# 郵便カスタマバーコード
yubin = BarcodePao::YubinCustomer.new("png")
yubin.draw("264-0025-1-2-503", 60)
base64_png = yubin.get_image_base64
動作環境
Native版 (barcode_pao)
- Ruby 3.0 以上
- Windows(DLL同梱)
- ffi gem(自動インストール)
WASM版 (barcode_pao_wasm)
- Ruby 3.0 以上
- Node.js v14 以上
- Windows / macOS / Linux
Pure Ruby版 (barcode_pao)
- Ruby 3.0 以上
- 外部バイナリ依存なし(Pure Ruby)
- Windows / macOS / Linux
- chunky_png gem(PNG画像生成に使用)
- ttfunk gem(フォント処理に使用)
サポート
製品のサポートは情報共有のため で行わせていただいております。
個別にメールinfo@pao.acも多くいただいております。 どちらでも結構です。お問い合わせ・ご意見・ご要望等よろしくお願いいたします。
本製品(Barcode.Ruby)の保守・保証につきましては、 保守・保証に関する規定をご覧ください。