barcode_pao_wasm

Flutter Web 向けのバーコード生成ライブラリです。C++ のバーコードエンジンを WebAssembly にしたもの(wasm/barcode.js・wasm/barcode.wasm)を同梱しています。index.html の変更は要りません。

体験版です。 出力するバーコードに赤い「SAMPLE」の印が付きます。 製品版(印なし)は Barcode.Flutter をご購入ください。

English follows the Japanese section.

対応バーコード

種類 クラス
1 次元 Code39、Code93、Code128、GS1_128(コンビニ収納代行を含む)、NW7、ITF、Matrix2of5、NEC2of5、Jan8、Jan13、UPC_A、UPC_E
GS1 DataBar GS1DataBar14、GS1DataBarLimited、GS1DataBarExpanded
2 次元 QR、DataMatrix、PDF417
郵便 YubinCustomer(郵便カスタマバーコード)

対応プラットフォーム

Web のみ。Windows・macOS のアプリには barcode_pao(ネイティブ版)をお使いください。

インストール

flutter pub add barcode_pao_wasm

使い方

import 'package:barcode_pao_wasm/barcode_pao_wasm.dart';

Future<void> main() async {
  // アプリの起動時に 1 回だけ(同梱のエンジンを読み込みます)
  await initBarcodeWasm();

  // Code128(PNG のデータ URL)
  final code128 = Code128()..setShowText(true);
  final png = code128.draw('ABC-12345', 300, 100);

  // QR コード(SVG)
  final qr = QR()
    ..setOutputFormat('svg')
    ..setErrorCorrectionLevel('M');
  final svg = qr.draw('https://www.pao.ac/', 200);
}

draw は、PNG/JPEG のときは data:image/png;base64,... の形の文字列(データ URL)、SVG のときは SVG の文字列を返します。

主なメソッド

対象 メソッド
全クラス setOutputFormat('png' / 'jpg' / 'svg')、setForegroundColor(r, g, b, [a])、setBackgroundColor(r, g, b, [a])
1 次元 setShowText、setTextFontScale、setTextGap、setFitWidth、draw(code, width, height)
QR setErrorCorrectionLevel('L'/'M'/'Q'/'H')、setVersion、setEncodeMode
DataMatrix setCodeSize、setEncodeScheme
PDF417 setErrorLevel、setColumns、setRows
GS1-128 drawConvenience(code, width, height)(コンビニ収納代行)

ページ側で window.Module を用意している場合は、そちらを使います。

マニュアル:https://www.pao.ac/barcode.flutter/

ライセンス

MIT License(LICENSE)。体験版の印を消すには製品版のご購入が必要です。


barcode_pao_wasm (English)

Barcode generation for Flutter Web. The C++ barcode engine compiled to WebAssembly (wasm/barcode.js, wasm/barcode.wasm) is bundled as package assets, so no index.html changes are needed.

Trial version. Every barcode carries a red "SAMPLE" mark. The full version without the mark is available at Barcode.Flutter.

Supported symbologies

Code39, Code93, Code128, GS1-128 (incl. Japanese convenience-store payment), NW-7 (Codabar), ITF, Matrix 2 of 5, NEC 2 of 5, JAN-8, JAN-13, UPC-A, UPC-E, GS1 DataBar (14 / Limited / Expanded), QR Code, DataMatrix, PDF417 and the Japanese postal customer barcode.

Platforms

Web only. For Windows and macOS apps use barcode_pao.

Install

flutter pub add barcode_pao_wasm

Usage

import 'package:barcode_pao_wasm/barcode_pao_wasm.dart';

Future<void> main() async {
  await initBarcodeWasm(); // once at startup; loads the bundled engine

  final code128 = Code128()..setShowText(true);
  final pngDataUrl = code128.draw('ABC-12345', 300, 100);

  final qr = QR()..setOutputFormat('svg');
  final svg = qr.draw('https://www.pao.ac/', 200);
}

draw returns a data URL (data:image/png;base64,...) for PNG/JPEG output, or an SVG string for SVG output. If the page defines window.Module, that engine is used instead.

License

MIT License (see LICENSE). Removing the trial mark requires the purchased product.

Libraries

barcode_pao_wasm
Barcode.Flutter WASM版