REST APIやバッチ処理に最適なGo版(Pure Go ライブラリ)に加え、
C++ バーコードエンジンを Node.js 経由で利用するWASM版を提供しています。
最新リリース情報
Barcode.Go 1.0.02026年2月 リリース
Goによるバーコード生成ライブラリの初回リリース。
Pure Go版(REST API対応)とWASM版(C++ WASMエンジン)の2パッケージを提供。
PNG / JPEG / SVG出力に対応。全18種バーコードをサポート。
2つのパッケージ
用途や環境に応じて、最適なパッケージをお選びください。
Go版(Pure Go ライブラリ)
go get でインポート / ZIP配布Pure Goで実装されたバーコードライブラリ。REST APIサーバーやバッチ処理に最適です。
- Pure Go実装 ─ 外部依存なし
- REST API サーバー構築に最適
- Windows / macOS / Linux 対応
- net/http で REST API サーバーを構築
- PNG / JPEG / SVG 出力対応
22,000円(税込)
WASM版(C++ WASMエンジン)
C++ バーコードエンジン + Node.jsC++ バーコードエンジンを Node.js 経由で利用。Go から簡単にバーコードを生成できます。
- C++ 高速バーコードエンジン搭載
- Node.js サブプロセスで WASM 実行
- Go 標準ライブラリのみ使用
- REST API サーバー構築に対応
11,000円(税込)
製品概要
Pure Go実装
CGo不要。Pure Goで実装されているため、あらゆるプラットフォームでビルド・実行可能です。
REST API対応
net/httpと組み合わせてREST APIサーバーを簡単に構築。マイクロサービスに最適です。
PNG / JPEG画像出力
バーコードをBase64形式のPNG/JPEG画像として出力。HTMLやAPIレスポンスに直接埋め込み可能。
SVGベクター出力
拡大しても劣化しないSVG形式で出力。印刷や高解像度ディスプレイに最適です。
C++ WASMエンジン
C++ バーコードエンジンを Node.js 経由で利用。Go から簡単に高品質バーコードを生成。
外部依存なし
Go版は外部依存最小限。go get するだけでプロジェクトに組み込めます。
対応バーコード
| 分類 | 対応バーコード |
|---|---|
| 1次元バーコード |
|
| 2次元バーコード |
|
製品価格・ライセンス
価格(1開発ライセンスあたり):
- Go版(Pure Go ライブラリ):22,000円(税込) / 20,000円(税抜)
- WASM版(C++ WASMエンジン):11,000円(税込) / 10,000円(税抜)
※必要開発ライセンス数:Barcode.Goを利用して開発するパソコンの台数分必要になります。
※ランタイムライセンス:無償で提供されます。開発環境にのみライセンスが必要です。お客様環境など開発環境ではない場合は、配布は無償です。
※Go版:Pure Go実装のバーコードライブラリをご利用いただけます。
※WASM版:C++ WASMエンジンを利用するGoラッパーとサンプルが含まれます。
デモ・ダウンロード
試用版には「SAMPLE」の透かしが表示されます。製品版をご購入いただくと透かしなしでご利用いただけます。
Go版(Pure Goライブラリ)
Pure Go実装のバーコードライブラリ。REST APIサンプル付き。
PNG / JPEG / SVG出力に対応。全18種バーコード対応。
WASM版(C++ WASMエンジン)
C++ バーコードエンジンを Node.js 経由で利用する Go ラッパー。
REST API サンプル付き。全18種バーコード対応。
go get(Native FFI版 / WASM版)
GitHub サンプルコード
Pure Go版 サンプル
C++版 サンプル(FFI / WASM)
サンプルコード
Goのimportでライブラリをインポートするだけで、すぐにバーコードを生成できます。
基本的な使い方(QRコード)
package main
import (
"fmt"
barcode "github.com/pao-company/barcode-go"
)
func main() {
// QRコード生成(2ステップ)
qr := barcode.NewQRCode(barcode.FormatPNG) // Step 1
err := qr.Draw("https://www.pao.ac/", 300) // Step 2
if err != nil {
panic(err)
}
// Base64 PNG画像を取得
base64Img, _ := qr.GetImageBase64()
fmt.Println(base64Img)
}
1次元バーコード
import barcode "github.com/pao-company/barcode-go"
// Code39 バーコード生成
bc := barcode.NewCode39(barcode.FormatPNG)
bc.ShowText = true
bc.TextEvenSpacing = true
err := bc.Draw("HELLO-123", 400, 100)
// Base64画像を取得
base64Img, _ := bc.GetImageBase64()
// ファイルに保存する場合
imgBytes, _ := bc.GetImageMemory()
os.WriteFile("barcode.png", imgBytes, 0644)
SVGベクター出力
import barcode "github.com/pao-company/barcode-go"
// SVG形式で出力
bc := barcode.NewCode128(barcode.FormatSVG)
bc.ShowText = true
err := bc.Draw("Hello-2026", 400, 100)
// SVG文字列を取得
svgString, _ := bc.GetSVG()
// ファイルに保存
os.WriteFile("barcode.svg", []byte(svgString), 0644)
REST APIサーバー
package main
import (
"encoding/json"
"net/http"
barcode "github.com/pao-company/barcode-go"
)
func handleBarcode(w http.ResponseWriter, r *http.Request) {
code := r.FormValue("code")
qr := barcode.NewQRCode(barcode.FormatPNG)
qr.Draw(code, 300)
b64, _ := qr.GetImageBase64()
json.NewEncoder(w).Encode(map[string]string{"image": b64})
}
func main() {
http.HandleFunc("/api/barcode", handleBarcode)
http.ListenAndServe(":5700", nil)
}
色やスタイルのカスタマイズ
import barcode "github.com/pao-company/barcode-go"
bc := barcode.NewJAN13(barcode.FormatPNG)
bc.ShowText = true
bc.SetForegroundColor(0, 0, 128, 255) // 紺色のバー
bc.SetBackgroundColor(255, 255, 240, 255) // アイボリーの背景
err := bc.Draw("4901234567894", 300, 120)
base64Img, _ := bc.GetImageBase64()
動作環境
Go版 (Pure Go ライブラリ)
- Go 1.21 以上
- Windows / macOS / Linux
- CGo不要(Pure Go実装)
- 外部ライブラリ: golang.org/x/image(自動取得)
WASM版 (C++ WASMエンジン)
- Node.js 16 以上
- Go 1.21 以上
- Windows / macOS / Linux
- C++ WASMエンジンを Node.js 経由で実行
サポート
製品のサポートは情報共有のため で行わせていただいております。
個別にメールinfo@pao.acも多くいただいております。 どちらでも結構です。お問い合わせ・ご意見・ご要望等よろしくお願いいたします。
本製品(Barcode.Go)の保守・保証につきましては、 保守・保証に関する規定をご覧ください。