barcode_pao_wasm 0.0.1 copy "barcode_pao_wasm: ^0.0.1" to clipboard
barcode_pao_wasm: ^0.0.1 copied to clipboard

Platformweb

Cross-platform barcode generation library for Flutter Web (WASM version). Supports 18 barcode types including QR, Code128, JAN, GS1, PDF417, DataMatrix and more. Powered by C++ WASM engine.

barcode_pao_wasm #

クロスプラットフォーム バーコード生成ライブラリ for Flutter Web(WebAssembly版)

概要 #

barcode_pao_wasm は、WebAssembly(WASM)を使用してバーコードを生成するFlutterパッケージです。Flutter Web専用で、ブラウザ内でC++ WASMエンジンを実行して高速にバーコードを生成します。

必要条件 #

  • Flutter 3.10以上
  • Dart SDK 3.0以上

対応バーコード(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種) #

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

インストール #

flutter pub add barcode_pao_wasm

使用例 #

初期化 #

import 'package:barcode_pao_wasm/barcode_pao_wasm.dart';

void main() async {
  // WASM初期化(アプリ起動時に1回)
  await initBarcodeWasm();

  // バーコード生成
  final qr = QR();
  final result = qr.draw('https://www.pao.ac/', 200);
  // result は Base64 PNG または SVG 文字列
}

QRコード生成 #

import 'package:barcode_pao_wasm/barcode_pao_wasm.dart';

// QRコードインスタンスを作成
final qr = QR();

// エラー訂正レベルを設定(L/M/Q/H)
qr.setErrorCorrectionLevel('H');

// Base64エンコードされた画像を取得
final base64Image = qr.draw('https://example.com', 200);

Code128バーコード生成 #

import 'package:barcode_pao_wasm/barcode_pao_wasm.dart';

// Code128インスタンスを作成
final code128 = Code128();

// テキスト表示を有効化
code128.setShowText(true);

// 出力フォーマットをSVGに設定
code128.setOutputFormat('svg');

// バーコード生成
final svgData = code128.draw('ABC-12345', 300, 100);

色のカスタマイズ #

import 'package:barcode_pao_wasm/barcode_pao_wasm.dart';

final code39 = Code39();

// 前景色(バーの色)をRGBAで設定
code39.setForegroundColor(0, 0, 128); // 紺色

// 背景色をRGBAで設定
code39.setBackgroundColor(255, 255, 200); // 薄黄色

final base64Image = code39.draw('12345', 200, 80);

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

import 'package:barcode_pao_wasm/barcode_pao_wasm.dart';

final gs1 = GS1_128();
gs1.setShowText(true);

// 標準料金代理収納用バーコード
final convenienceCode = '9101234567890123456789012345678901234567890123';
final base64Image = gs1.drawConvenience(convenienceCode, 400, 100);

郵便カスタマバーコード #

import 'package:barcode_pao_wasm/barcode_pao_wasm.dart';

final yubin = YubinCustomer();

// 郵便番号 + 住所表示番号
final code = '1000001-1-2-3';
final base64Image = yubin.draw(code, 50); // 高さのみ指定

API リファレンス #

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

メソッド 説明
setOutputFormat(format) 出力フォーマットを設定("png", "jpg", "svg")
setForegroundColor(r, g, b, [a]) 前景色(バーの色)を設定
setBackgroundColor(r, g, b, [a]) 背景色を設定

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

メソッド 説明
setShowText(show) バーコード下のテキスト表示
setTextFontScale(scale) テキストのフォントサイズスケール
setTextGap(scale) バーとテキストの間隔
setFitWidth(fit) 幅に合わせてバーを調整
draw(code, width, height) Base64またはSVG文字列を返す

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

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

出力フォーマット #

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

FFI版との違い #

項目 barcode_pao_wasm barcode_pao (FFI)
対応プラットフォーム Web専用 Windows/macOS/Linux/iOS/Android
実行速度 やや遅い(WASM) 高速(ネイティブC++)
初期化 initBarcodeWasm() 必須 不要
リソース管理 不要 dispose() 必須
用途 Flutter Web ネイティブアプリ

ライセンス #

MIT License

関連パッケージ #

  • barcode_pao - C++ FFIネイティブ版(高速、ネイティブアプリ用)
0
likes
115
points
75
downloads

Publisher

unverified uploader

Weekly Downloads

Cross-platform barcode generation library for Flutter Web (WASM version). Supports 18 barcode types including QR, Code128, JAN, GS1, PDF417, DataMatrix and more. Powered by C++ WASM engine.

Homepage
Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

web

More

Packages that depend on barcode_pao_wasm