Barcode.Flutterは、Flutter / Dart でバーコードを生成するライブラリです。
C++ FFI で高速描画するPlugin版・Web含む全プラットフォーム対応のWASM版に加え、
Flutter Canvas / PDF 直接描画対応のPure Dart版を提供しています。

最新リリース情報

Barcode.Flutter 1.0.0

2026年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_pao

C++ を dart:ffi で直接バインディング。高速に動作します。

  • C++ネイティブの高速描画
  • Android / iOS / Windows / macOS / Linux 対応
  • Flutter Canvas に直接描画
  • 大量バーコード生成に最適

11,000円(税込)

開発元推奨

WASM版(クロスプラットフォーム)

flutter pub add barcode_pao_wasm

WebAssembly で実行。コンパイル不要でWeb含む全プラットフォーム対応。

  • コンパイル不要でインストール簡単
  • Android / iOS / Windows / macOS / Linux / Web 対応
  • Flutter Canvas に直接描画
  • Web アプリケーションに最適

11,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次元バーコード
  • Code39 / Code93 / Code128
  • GS1-128 (EAN-128)
  • NW-7 (Codabar)
  • ITF (Interleaved 2 of 5)
  • Matrix 2of5 / NEC 2of5
  • JAN-8 / JAN-13 (EAN-8 / EAN-13)
  • UPC-A / UPC-E
  • GS1 DataBar (標準型/限定型/拡張型)
  • 郵便カスタマバーコード
  • 標準料金代理収納用コンビニバーコード
2次元バーコード
  • QRコード
  • DataMatrix (GS1対応)
  • PDF417

製品価格・ライセンス

価格(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版)

Plugin版(高速・C++ FFIバインディング)
flutter pub add barcode_pao → pub.dev
WASM版(クロスプラットフォーム)
flutter pub add barcode_pao_wasm → pub.dev

GitHub サンプルコード

Pure Dart版 サンプル
C++版 サンプル(Plugin / WASM)

マニュアル

Plugin版 マニュアル

Plugin版のAPIリファレンス、インストール方法を記載。

→ PDF→ HTML
Pure Dart版 マニュアル

Canvas/PDF対応のPure Dart版APIリファレンス。

→ PDF→ HTML

サンプルコード

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)の保守・保証につきましては、 保守・保証に関する規定をご覧ください。