14 RTFテンプレートの作成
ここでは、RTFレポート・テンプレートでXMLデータをレイアウト要素に関連付ける概念について説明します。 また、複雑で高度に機能化されたレポート形式を作成するための基本的な技術および高度な手法について説明します。
トピック:
レポートでのバーコード・フォントの使用
「パブリッシャ」には、バーコードを出力するフォントがいくつか含まれています。
Publisherに含まれるフォント・ファイル:
- LibreBarcode128-Regular.TTF - code128a、code128bおよびcode128cアルゴリズムをサポートします。 また、3つのcode128アルゴリズムを自動的に切り替えるためのcode128autoもサポートしています。
- LibreBarcode39-Regular.TTF - code39およびcode39mod43アルゴリズムをサポートします。
- LibreBarcodeEAN13Text-Regular.TTF - upcaおよびupceアルゴリズムをサポートします。
これらの事前パッケージ済フォントのいずれかを使用する場合、「パブリッシャ」では、出力ドキュメントのデータにバーコード・フォントを適用する前に、データの前処理が実行されます。 たとえば、データを書式設定する前に、そのデータのチェックサム値や開始ビットと終了ビットを計算します。
設計時に、バーコード・フォントをMicrosoft Wordのフィールドに適用する必要はありません。 そのかわりに、「パブリッシャ」フォント・マッピングを使用して、フィールドに適用するフォントをマップできます。 実行時に、「パブリッシャ」では、フォント・マッピングで指定したベース・フォントを使用して、バーコード・フォントが任意のフィールドに適用されます。 テンプレート内の他の場所で使用されていないフォントを必ず選択してください。
Microsoft Wordで直接フォントを使用する場合は、適切な.TTFファイルをC:\WINDOWS\Fonts
ディレクトリに追加します。 Template Builderプレビュー機能を使用するには、Template Builder構成ファイル内のフォントをマップします。
レポート出力でバーコード・フォントを使用するには:
次の点に注意してください。
-
Microsoft Wordがクライアントにインストールされても、バーコード・フォントが正しくレンダリングされない場合があります。 この問題を回避するには、フィールドに別のフォントを適用し、前述のとおりフォントをマップします。
-
Upcaアルゴリズムは、UPC-Aメッセージ文字列のみを受け入れて、UPC-Aバーコードへとエンコードします。
-
12文字の文字列は、検証桁を含むUPC-Aメッセージとして処理され、11は検証桁なしです。
-
Upceアルゴリズムは、UPC-Eメッセージ文字列のみを受け入れて、UPC-Eバーコードへとエンコードします。
-
文字列8は、前面および終了ガード・バーの両方を含むUPC-Eメッセージとして処理されます。文字列6はガード・バーなしです。
カスタム・バーコード・フォーマットの実装
かわりにカスタム・バーコードを使用する場合は、この手順を使用してカスタム・バーコードを実装します。
「パブリッシャ」は、出力ドキュメントのデータにバーコード・フォントを適用する前に、データの前処理を実行する機能を提供します。 たとえば、データをフォーマットする前に、そのデータのチェックサム値や開始ビットと終了ビットを計算する必要がある場合があります。
解決策として、バーコード・エンコーディング・クラスを「パブリッシャ」に登録し、これらを実行時にインスタンス化してテンプレートにフォーマットを適用する必要があります。
テンプレートでフォーマット機能を有効にするには、テンプレートで2つのコマンドを使用する必要があります。 最初のコマンドにより、バーコード・エンコーディング・クラスが「パブリッシャ」に登録されます。 これは、エンコーディング・コマンドの前にテンプレート内のどこかで宣言する必要があります。 2つ目は、フォーマットされるデータを識別するエンコーディング・コマンドです。
データのエンコード
この構文をテンプレートのフォーム・フィールドに使用して、データを書式設定します。
<?format-barcode:data;'barcode_type'?>
説明
data
は、エンコードされるXMLデータ・ソースの要素です。 たとえば: LABEL_ID
barcode_type
は、データの書式設定に使用されるエンコーディングJavaクラスのメソッドです。 たとえば: code128a
。
たとえば:
<?format-barcode:LABEL_ID;'code128a'?>
実行時に、barcode_typeメソッドが呼び出されてデータ値がフォーマットされ、バーコード・フォントが最終出力のデータに適用されます。
2Dバーコード関数
QRコードまたはPDF417 2Dバーコード・タイプをRTFテンプレートで使用できます。 RTFテンプレートの作成時に、qrcodeまたはpdf417関数を使用してバーコード・タイプを指定します。 これらの関数は外部フォントを必要としません。
qrcodeの構文
<?qrcode: <DATA>; <SIZE>[; <CHARSET>[; <ECLEVEL>[; <GS1FORMAT>[; <MASKPATTERN>[; <QRVERSION>]]]]]?>
説明
- DATA - QRコード形式にエンコードするデータ。
- SIZE - ポイント(pt)単位のQRコードのサイズ寸法。
- CHARSET - (オプション)データをエンコードする文字セット。 デフォルトはUTF8です。
- ECLEVEL - (オプション)QRコード・エラー訂正レベル。 デフォルトは「M」です。
有効な値は次のとおりです。
- "H" (~30%訂正)
- "Q" (~25%訂正)
- "M" (~15%訂正)
- "L" (~7%訂正)
- GS1FORMAT - (オプション)データをGS1形式でエンコードするかどうか。 GS1標準を使用してデータをエンコードするには、trueを入力します。
- MASKPATTERN - (任意)使用するQRコード・マスク・パターン。 デフォルトは最適なマスク・パターンです。 有効な値は、1から7の整数(または整数の文字列表現)です。
- QRVERSION - (オプション)エンコードするQRコードの正確なバージョン。 デフォルトは、エンコードされるデータのサイズによって決定されるバージョンです。 有効な値は、1から40の整数(または整数の文字列表現)です。
<?qrcode: â01049123451234591597033130128â; â200â;ââ ; âHâ; âtrueâ; ââ; 4?>
デフォルト値を使用するには、文字セットおよびマスク・パターンが空白のままであることに注意してください。
pdf417の構文
<?pdf417: <DATA>[; <XSCALE>[; <COLUMNS>[; <ROWS>[; <CHARSET>]]]]?>
説明
- DATA - PDF417フォーマットにエンコードするデータ。
- XSCALE - PDF417モジュール幅当たりのポイント(pt)。 デフォルトは1 (モジュール当たり1pt)です。
- COLUMNS - 生成されるPDF417シンボルに使用される列数。 デフォルトは -1です。
- ROWS - 生成されるPDF417シンボルに使用される行数。 デフォルトは -1です。
- CHARSET - (オプション)バイト圧縮モードでデータをエンコードするために使用される文字セット。 Latin-1(ISO-8859-1)以外の文字がデータに含まれている場合にのみ、CHARSETを指定します。