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 |
|---|---|---|
| インターネット接続 | 不要 | 必要 |
| バッチ処理パフォーマンス | 高(即時) | 中(ネットワーク遅延あり) |
| セットアップの容易さ | ランタイムが必要 | プラグ&プレイ |