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

High-performance barcode generation library for Flutter. Supports 19 barcode types including QR, Code128, JAN, GS1, PDF417, DataMatrix and more. Powered by native C++ via dart:ffi.

barcode_pao #

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

概要 #

barcode_pao は、C++バーコードエンジンを dart:ffi でバインディングした高速バーコード生成Flutterプラグインです。ネイティブコンパイル済みライブラリを同梱しているため、追加のコンパイル不要で動作します。

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

使用例 #

QRコード生成 #

import 'package:barcode_pao/barcode_pao.dart';

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

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

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

// リソースを解放
qr.dispose();

Code128バーコード生成 #

import 'package:barcode_pao/barcode_pao.dart';

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

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

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

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

// リソースを解放
code128.dispose();

色のカスタマイズ #

import 'package:barcode_pao/barcode_pao.dart';

final code39 = Code39();

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

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

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

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

import 'package:barcode_pao/barcode_pao.dart';

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

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

gs1.dispose();

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

import 'package:barcode_pao/barcode_pao.dart';

final yubin = YubinCustomer();

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

yubin.dispose();

API リファレンス #

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

メソッド 説明
setOutputFormat(format) 出力フォーマットを設定("png", "jpg", "svg")
setForegroundColor(r, g, b, [a]) 前景色(バーの色)を設定
setBackgroundColor(r, g, b, [a]) 背景色を設定
dispose() ネイティブリソースを解放(必須)

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

メソッド 説明
setShowText(show) バーコード下のテキスト表示
setTextFontScale(scale) テキストのフォントサイズスケール
setTextGap(scale) バーとテキストの間隔
setFitWidth(fit) 幅に合わせてバーを調整
setPxAdjustBlack(adjust) 黒バーのピクセル調整
setPxAdjustWhite(adjust) 白バーのピクセル調整
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ベクター画像

WASM版との違い #

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

ライセンス #

MIT License

関連パッケージ #

0
likes
125
points
75
downloads

Publisher

unverified uploader

Weekly Downloads

High-performance barcode generation library for Flutter. Supports 19 barcode types including QR, Code128, JAN, GS1, PDF417, DataMatrix and more. Powered by native C++ via dart:ffi.

Homepage
Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

ffi, flutter

More

Packages that depend on barcode_pao

Packages that implement barcode_pao