PowerBuilder バーコード統合

ローカルDLL処理、クラウドAPI統合、およびDataWindowフォントレンダリングのための決定版ガイド。

01

ローカル .NET Core DLL の統合

DotNetObjectを使用すると、ネットワーク遅延なしでクライアントマシン上で直接複雑なバーコードエンコードロジックを実行できます。これは、QRコード、Aztec、DataMatrixなどの2Dバーコードに最適です。

PowerScript セットアップ全文
DotNetAssembly lnv_Asm
DotNetObject lnv_Encoder
Long ll_ret

lnv_Asm = Create DotNetAssembly
// .NET Runtimeがインストールされていることを確認
ll_ret = lnv_Asm.LoadWithDotNetCore("cruflbcsnet.dll")

IF ll_ret = 1 THEN
    lnv_Encoder = lnv_Asm.CreateInstance("Barcodesoft.Encoder")
    // EncodeはBCSフォント用にフォーマットされた文字列を返します
    ls_barcode_data = lnv_Encoder.Encode(ls_input)
    dw_1.SetItem(row, "barcode_col", ls_barcode_data)
ELSE
    MessageBox("エラー", ".NET DLLのロードに失敗しました。ランタイムを確認してください。")
END IF
02

クラウド REST API(コードレス設定)

ローカルインストールが不要な環境では、REST APIを使用します。PowerBuilderのDataWindowは、Bitmap()式を介してこれを処理します。

計算済みフィールドの式:

Bitmap("https://www.barcodesoft.com/barcode/qrcode/token=YOUR_TOKEN&text=" + id_field + "&format=png")

ヒント: DataWindowの取得時間を短縮するために、小さなPNG形式を使用してください。

03

DataWindow 設計ステップ

バーコードが正しくスキャンされるように、DataWindowペインターで以下のUI調整を行ってください:

  • フォント選択: カラムのフォントを特定のバーコードフォント(例: BCSQRcode)に設定します。
  • アンチエイリアス: バーコードがぼやけて見える場合は、Windowsのフォント設定で「TrueType」スムージングを無効にします。
  • カラムサイズ: バーコードが読み取り不能になる「欠け」を防ぐために、カラムの幅を十分に確保してください。
  • 高さの自動調整(Autosize Height): エンコードされるデータ量が大幅に変化する場合は、このプロパティを有効にします。

手法の選択

機能 .NET DLL REST API
インターネット接続 不要 必要
バッチ処理パフォーマンス 高(即時) 中(ネットワーク遅延あり)
セットアップの容易さ ランタイムが必要 プラグ&プレイ