C++ FFI で高速描画するPlugin版・Web含む全プラットフォーム対応のWASM版に加え、
Flutter Canvas / PDF 直接描画対応のPure Dart版を提供しています。
最新リリース情報
Barcode.Flutter 1.0.02026年2月 リリース
Flutter / Dart によるバーコード生成ライブラリの初回リリース。
Plugin版(dart:ffi / C++高速)・WASM版(WebAssembly)・Pure Dart版の3パッケージを提供。
Flutter Canvas / SVG / PDF出力に対応。
今回のリリースについて、多くのメディアでご紹介いただいております。ありがとうございます。
3つのパッケージ
用途や環境に応じて、最適なパッケージをお選びください。Plugin版・WASM版は同じAPIで利用できます。
Plugin版(高速)
flutter pub add barcode_paoC++ を dart:ffi で直接バインディング。高速に動作します。
- C++ネイティブの高速描画
- Android / iOS / Windows / macOS / Linux 対応
- Flutter Canvas に直接描画
- 大量バーコード生成に最適
11,000円(税込)
WASM版(クロスプラットフォーム)
flutter pub add barcode_pao_wasmWebAssembly で実行。コンパイル不要でWeb含む全プラットフォーム対応。
- コンパイル不要でインストール簡単
- Android / iOS / Windows / macOS / Linux / Web 対応
- Flutter Canvas に直接描画
- Web アプリケーションに最適
11,000円(税込)
Pure Dart版
Pure Dart実装で提供Dartで書かれたバーコードライブラリ。Flutter Canvas・PDFに直接描画できます。
- Flutter Canvas対応 ─ CustomPainter でバーコード描画
- PDF対応 ─ pdf パッケージで帳票に直接描画
- ネイティブ依存なし ─ Pure Dartで完結
- Web を含む全6プラットフォーム対応
22,000円(税込)
⚖️ Plugin版(FFI)と WASM版 の比較
| プラットフォーム | FFI版(レガシー) | WASM版(推奨) |
|---|---|---|
| Windows | ✅ 提供 | ✅ 推奨 |
| macOS | ⚠️ 要検討 | ✅ 推奨 |
| Linux | ❌ | ✅ 推奨 |
| Web | ❌ 非対応 | ✅ 推奨 |
| Android / iOS | ✅ 提供 | ✅ 推奨 |
FFI(dart:ffi)によるネイティブバインディングは、過去に一般的に使われていた手法ですが、 プラットフォームごとのビルド環境構築やWeb非対応といった制約があります。
弊社では互換性のため FFI版も引き続きリリースいたしますが、 現代の開発においては WASM版 を強くお勧めいたします。
WASM版はコンパイル不要で、すべてのプラットフォーム(Webを含む)で同一コードが動作します。
製品概要
Dart で完結
pub add するだけで、Dart コードからバーコードを生成できます。
高速描画(Plugin版)
C++ から dart:ffi でバインドされた Plugin版により、高速な描画を実現。
Flutter Canvas 描画
CustomPainter で Flutter の Canvas にバーコードを直接描画できます。
PDF 帳票出力
pdf パッケージと連携し、PDF 帳票にバーコードを直接埋め込めます。
SVG ベクター出力
拡大しても劣化しない SVG 形式で出力。印刷や高解像度ディスプレイに最適です。
マルチプラットフォーム
Android / iOS / Windows / macOS / Linux / Web に対応。1つのコードで全プラットフォーム。
対応バーコード
| 分類 | 対応バーコード |
|---|---|
| 1次元バーコード |
|
| 2次元バーコード |
|
製品価格・ライセンス
価格(1開発ライセンスあたり):
- Plugin版 / WASM版:11,000円(税込) / 10,000円(税抜)
- Pure Dart版:22,000円(税込) / 20,000円(税抜)
※必要開発ライセンス数:Barcode.Flutterを利用して開発するパソコンの台数分必要になります。
※ランタイムライセンス:無償で提供されます。開発環境にのみライセンスが必要です。お客様環境など開発環境ではない場合は、配布は無償です。
※Plugin版・WASM版:1ライセンスで両方のパッケージをご利用いただけます。
※Pure Dart版:Flutter Canvas・PDFへの直接描画に対応。ネイティブ依存なしでWeb含む全プラットフォームで動作します。
デモ・ダウンロード
試用版には「SAMPLE」の透かしが表示されます。製品版をご購入いただくと透かしなしでご利用いただけます。
Plugin版(FFI / WASM)
C++ バーコードエンジンを FFI または WASM で利用。
高速描画。全プラットフォーム対応。
Pure Dart版
Pure Dart実装。Flutter Canvas・PDFに直接描画。
全19種バーコード対応。ネイティブ依存なし。
pub add(Plugin版 / WASM版)
GitHub サンプルコード
Pure Dart版 サンプル
C++版 サンプル(Plugin / WASM)
サンプルコード
Plugin版・Pure Dart版ともに同じ API 設計で利用できます。
import するパッケージ名を変えるだけで切り替え可能です。
基本的な使い方(1次元バーコード)
import 'package:barcode_pao/barcode_pao.dart';
// Code39バーコードを生成(SVG出力)
final bc = Code39();
bc.setShowText(true);
final svg = bc.draw("HELLO-123", 400, 100);
// Flutter Widget として表示
Widget build(BuildContext context) {
return SvgPicture.string(svg);
}
QRコード生成
import 'package:barcode_pao/barcode_pao.dart';
final qr = QR();
qr.setStringEncoding("UTF-8"); // 日本語対応
qr.setErrorCorrectionLevel("M"); // 誤り訂正レベル
// SVG出力
final svg = qr.draw("https://www.pao.ac/", 300);
// ファイルに保存
qr.drawToFile("https://www.pao.ac/", 300, "qrcode.svg");
Pure Dart版 ─ Canvas に直接描画
import 'package:pao_barcode/pao_barcode.dart';
import 'package:pao_barcode/renderers/canvas_renderer.dart';
class BarcodePainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
final renderer = CanvasRenderer(canvas);
final qr = QR();
qr.draw("https://www.pao.ac/", 200, renderer: renderer);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}
Pure Dart版 ─ PDF帳票にバーコード埋め込み
import 'package:pao_barcode/pao_barcode.dart';
import 'package:pao_barcode/renderers/pdf_renderer.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw;
final pdf = pw.Document();
pdf.addPage(pw.Page(
build: (pw.Context context) {
final renderer = PdfRenderer(context.canvas);
final jan = Jan13();
jan.setShowText(true);
jan.draw("4901234567894", 300, 120, renderer: renderer);
return pw.Container();
},
));
色やスタイルのカスタマイズ
import 'package:barcode_pao/barcode_pao.dart';
final bc = Jan13();
bc.setShowText(true);
bc.setForegroundColor(0, 0, 128, 255); // 紺色のバー
bc.setBackgroundColor(255, 255, 240, 255); // アイボリーの背景
bc.setTextFontScale(1.2); // テキストサイズ拡大
final svg = bc.draw("4901234567894", 300, 120);
全バーコード種類を利用
import 'package:barcode_pao/barcode_pao.dart';
// 2次元バーコード
final dm = DataMatrix();
dm.setCodeSize("AUTO");
final svgDm = dm.draw("SAMPLE12345", 200);
final pdf417 = PDF417();
pdf417.setColumns(4);
pdf417.setErrorLevel(3);
final svgPdf = pdf417.draw("PDF417 Sample", 300);
// 郵便カスタマバーコード
final yubin = YubinCustomer();
final svgYubin = yubin.draw("264-0025-1-2-503", 60);
動作環境
Plugin版 (barcode_pao)
- Flutter 3.0 以上
- Dart 3.0 以上
- Android / iOS / Windows / macOS / Linux
- C++ ビルドツール(プラットフォームに応じて自動設定)
WASM版 (barcode_pao_wasm)
- Flutter 3.0 以上
- Dart 3.0 以上
- Android / iOS / Windows / macOS / Linux / Web
- コンパイル不要(WebAssembly)
Pure Dart版 (pao_barcode)
- Flutter 3.0 以上
- Dart 3.0 以上
- ネイティブ依存なし(Pure Dart)
- Android / iOS / Windows / macOS / Linux / Web
- pdf パッケージ(PDF帳票描画を使用する場合)
サポート
製品のサポートは情報共有のため で行わせていただいております。
個別にメールinfo@pao.acも多くいただいております。 どちらでも結構です。お問い合わせ・ご意見・ご要望等よろしくお願いいたします。
本製品(Barcode.Flutter)の保守・保証につきましては、 保守・保証に関する規定をご覧ください。