Barcodes

TC-LIB-BARCODE PHPライブラリを使用して、フィールド値、Block、またはTwigテンプレートから様々な種類の1Dおよび2Dバーコードを生成・表示します。

barcodes
944 sites
36
drupal.org

インストール

Drupal 11, 10 v2.1.1
composer require 'drupal/barcodes:^2.1'
Drupal 9 v2.0.7
composer require 'drupal/barcodes:^2.0'

概要

Barcodesモジュールは、Drupal向けの包括的なバーコード生成機能を提供します。強力なtecnickcom/tc-lib-barcode PHPライブラリを統合し、QRコード、Data Matrix、PDF417、EAN、UPC、Code 39、Code 128など、35種類以上の1Dおよび2Dバーコードを生成できます。

このモジュールは複数の方法でバーコードを表示できます:様々なフィールドタイプ(email、integer、link、string、telephone、textなど)のField formatter、任意のリージョンに配置できる設定可能なBlock、またはフィルターを使用したTwigテンプレートでの直接表示が可能です。Tokenモジュールとの統合により、現在のページコンテキストやEntityデータに基づく動的なバーコード値を実現できます。

出力形式には、SVG(ベクターグラフィックス)、PNG(ラスター画像)、HTML DIV要素、Unicode文字表現、バイナリ文字列表現が含まれます。タイプ、色、寸法、パディングなど、すべてのバーコード設定は完全にカスタマイズ可能です。

Features

  • 10種類のフィールドタイプをサポートするField formatter:email、integer、link、string、telephone、text、text_long、text_with_summary、bigint、uuid
  • フル設定オプションを備えた任意のテーマリージョンにバーコードを表示するBlockプラグイン
  • カスタマイズ可能なパラメータでテンプレート内で直接バーコードを生成するTwigフィルター
  • 36種類以上のバーコードタイプをサポート:1Dコード(Code 39、Code 128、EAN、UPCなど)および2Dコード(QR Code、Data Matrix、PDF417、Aztec)
  • 5つの出力形式:SVG(ベクター)、PNG(ラスター画像)、HTML DIV、Unicode文字列、バイナリ文字列
  • Entityまたは現在のページコンテキストに基づく動的バーコード値のためのTokenモジュール統合
  • コマンドラインでのバーコード生成とフォーマット一覧表示のためのDrushコマンド
  • 完全にカスタマイズ可能な外観:色、幅、高さ、すべての辺のパディング
  • バーコード画像と一緒に生の値を表示するオプション
  • タイプ固有のスタイリングを可能にする各バーコードタイプ専用のCSSライブラリ

Use Cases

EAN/UPCバーコード付き製品ラベル

製品コンテンツタイプに文字列または整数フィールドを追加し、EAN-13またはUPC-AタイプでBarcode formatterを設定します。製品には標準的なバーコードリーダーで読み取り可能な小売用バーコードが表示されます。

コンテンツへのリンク付きQRコード

コンテンツタイプにリンクフィールドを追加し、QRCODEタイプでBarcode formatterを設定します。訪問者はモバイルデバイスでQRコードをスキャンして、リンクされたリソースに素早くアクセスできます。

ユニーク識別子付きイベントチケット

バーコード(Code 128またはQR Code)としてフォーマットされたUUIDフィールドタイプを使用して、イベント用のユニークでスキャン可能なチケットを作成します。バーコードは入場口で検証できます。

ページテンプレートでの動的QRコード

テンプレートでTwigフィルターを使用して、現在のページへのリンクQRコードを生成:{{ url('<current>') | barcode(type='QRCODE', width=150, height=150) }}。印刷用スタイルシートやページ共有に便利です。

連絡先情報QRコード

vCardデータを含むトークンベースの値でユーザープロフィールページにバーコードBlockを配置します。訪問者はスキャンして連絡先情報を電話に追加できます。

在庫管理バーコード

倉庫管理や在庫追跡システム用に、SKUまたは在庫IDフィールドからCode 128またはCode 39バーコードを生成します。

Drushによるバッチバーコード生成

スクリプトでdrush barcodes:generateコマンドを使用して、Drupalインターフェース外で製品、資産、またはドキュメント用のバーコード画像をバッチ生成します。

Tips

  • 特に印刷用途で品質を損なわずにスケーリングする必要があるバーコードには、SVG形式を選択してください
  • Drushで--binaryフラグ付きのPNG形式を使用すると、コマンドラインからバーコード画像ファイルを直接生成できます
  • 1D小売バーコード(EAN、UPC)の場合、チェックディジットを含む正しい桁数の入力値を確認してください
  • QRコードはURL、テキスト、vCardデータ、WiFi認証情報などをエンコードできます - 値の文字列を適切にフォーマットしてください
  • Tokenモジュール統合により、Blockバーコードで[node:url]や[current-user:mail]などの動的な値をエンコードできます
  • 各バーコードタイプには独自のCSSライブラリがあり、テーマで特定のバーコードタイプのスタイルをオーバーライドできます
  • アクセシビリティや手動入力のフォールバックのために、バーコードの下に人間が読めるテキストを表示するには「show_value」オプションを使用してください

Technical Details

Hooks 1
hook_theme

基本バーコードテンプレートと36種類以上のバーコードタイプ固有テンプレートバリアント(例:barcode__qrcode、barcode__ean13)のテーマフックを定義します

Drush Commands 2
drush barcodes:generate

指定された値とオプションでバーコードを生成します。バーコードマークアップまたはバイナリデータを出力します。

drush barcodes:formats

モジュールがサポートするすべての利用可能なバーコードタイプ/形式を説明付きで一覧表示します。

Troubleshooting 4
バーコードがレンダリングされない、またはエラーが表示される

Drupalログ(admin/reports/dblog)でbarcodesログチャンネルからのエラーメッセージを確認してください。一般的な問題には、選択したバーコードタイプで無効な文字、または特定の桁数を必要とするEAN-13などのタイプでの不正な値の長さがあります。

Field formatterがオプションとして表示されない

Barcode formatterはサポートされているフィールドタイプでのみ動作します:email、integer、link、string、telephone、text、text_long、text_with_summary、bigint、uuid。フィールドがこれらのタイプのいずれかであることを確認してください。

BlockでTokenが置換されない

Tokenモジュールがインストールされ有効になっていることを確認してください。BlockでのToken置換は、Entityページ(Node、ユーザーなど)を表示しているときにEntityトークンで機能します。

バーコードは表示されるがスキャナーで読み取れない

より良い解像度のために幅と高さの設定を増やしてください。一部のバーコードタイプには最小サイズ要件があります。また、バーコードの色と背景の間に十分なコントラストがあることを確認してください。