外部フォントを使用
サーバーで通常使用できない外部フォントを出力で使用できます。
外部フォントはPDF出力でのみサポートされています。 レポート出力用の新しいフォントを設定するには、フォントを使用してクライアント・マシンでテンプレートを設計し、サーバーで使用可能にし、実行時にフォントにアクセスするように「パブリッシャ」を構成します。
外部フォントを使用するには
-
テンプレートのフォントを使用します。
-
フォントを
<WINDOWS_HOME>/fonts
ディレクトリにコピーします。外部フォントを使用する場合は、それらのフォントのライセンスが必要です。
-
Microsoft Wordを開き、テンプレートを作成します。
-
テンプレートにフォントを挿入: テキストまたはフォーム・フィールドを選択し、フォント・ダイアログ・ボックス(「フォーマット」>「フォント」)またはフォントのドロップダウン・リストから目的のフォントを選択します。
次の図は、フォーム・フィールド・メソッドとテキスト・メソッドの例を示しています。
-
- アップロード・センターを使用してフォントをアップロードします。
-
「font」プロパティを設定します。
レポートのフォント・プロパティは、「フォント・マッピング」ページまたは構成ファイルで設定できます。
「フォント・マッピング」ページでプロパティを設定するには:
-
レポート・エディタでレポートを開きます。
-
「プロパティ」をクリックし、「フォント・マッピング」をクリックします。
-
フォントを入力し、マップするフォントを選択します。
-
これで、レポートを実行して、意図したとおりに出力のフォントを使用できます。 PDF出力の場合、高度なフォント処理機能によって、外部フォント・グリフが最終文書に直接埋め込まれます。 埋込みフォントには、ドキュメントに必要なグリフのみが含まれ、完全なフォント定義は含まれません。 したがって、文書は完全に自己完結型であるため、プリンタに外部フォントをインストールする必要はありません。
レポートでのバーコード・フォントの使用
「パブリッシャ」には、バーコードを出力するフォントがいくつか含まれています。
パブリッシャに含まれるフォント・ファイル:
- LibreBarcode128-Regular.TTF - code128a、code128bおよびcode128cアルゴリズムをサポートします。
- LibreBarcode39-Regular.TTF - code39およびcode39mod43アルゴリズムをサポートします。
- 128R00.TTF - code128a、code128bおよびcode128cアルゴリズムをサポートします。
- B39R00.TTF - code39およびcode39mod43アルゴリズムをサポートします。
- UPCR00.TTF - upcaおよびupceアルゴリズムをサポートします。
これらの事前パッケージ・フォントのいずれかを使用すると、「パブリッシャ」は、出力ドキュメントのデータにバーコード・フォントを適用する前にデータに対して前処理を実行します。 たとえば、データのチェックサム値を計算したり、フォーマットする前にデータの開始ビットと終了ビットを計算したりします。
設計時には、バーコード・フォントをMicrosoft Wordのフィールドに適用する必要はありません。 かわりに、「パブリッシャ」のフォント・マッピングを使用して、フィールドに適用するフォントをマップできます。 実行時に、「パブリッシャ」は、フォント・マッピングで指定したベース・フォントを使用して、すべてのフィールドにバーコード・フォントを適用します。 テンプレートの他の場所で使用されていないフォントを選択してください。
Microsoft Wordでフォントを直接使用する場合は、適切なを追加します。C:\WINDOWS\Fonts
ディレクトリへのTTFファイル。 Template Builderプレビュー機能を使用するには、Template Builder構成ファイルでフォントをマップします。
レポート出力でバーコード・フォントを使用するには:
次の点に注意してください。
-
Microsoftクライアントにインストールされている場合でも、バーコード・フォントが正しくレンダリングされない場合があります。 この問題を回避するには、フィールドに別のフォントを適用し、前述のようにフォントをマップします。
-
upcaアルゴリズムはUPC-Aメッセージ文字列のみを受け入れ、UPC-Aバーコードにエンコードします。
-
12文字の文字列は、検査桁を含むUPC-Aメッセージとして扱われ、11は検査桁なしです。
-
upceアルゴリズムはUPC-Eメッセージ文字列のみを受け入れ、UPC-Eバーコードにエンコードします。
-
8文字の文字列は、前面と終端の両方のガード・バーを持つUPC-Eメッセージとして扱われます。6文字の文字列はガード・バーがありません。
カスタム・バーコード書式の実装
代わりにカスタム・バーコードを使用する場合は、この手順を使用してカスタム・バーコードを実装します。
「パブリッシャ」では、出力ドキュメントのデータにバーコード・フォントを適用する前に、データに対して前処理を実行できます。 たとえば、データのチェックサム値を計算したり、データの開始ビットと終了ビットを計算してからフォーマットする必要がある場合があります。
このソリューションでは、実行時にテンプレートに書式設定を適用するためにインスタンス化できるバーコード・エンコーディング・クラスを「パブリッシャ」に登録する必要があります。
テンプレートの書式設定機能を有効にするには、テンプレートで2つのコマンドを使用する必要があります。 最初のコマンドは、バーコード・エンコーディング・クラスを「パブリッシャ」に登録します。 エンコーディング・コマンドの前にテンプレート内のどこかで宣言する必要があります。 2つ目は、書式設定するデータを識別するエンコーディング・コマンドです。
バーコード・エンコーディング・クラスの登録
フォーム・フィールドにはバーコードを含めることができます。
テンプレートのフォーム・フィールドで次の構文を使用して、バーコード・エンコーディング・クラスを登録します:
<?register-barcode-vendor:java_class_name;barcode_vendor_id?>
このコマンドには、Javaクラス名(エンコーディングが行われます)と、クラスで定義されているバーコード・ベンダーIDが必要です。 テンプレートにデータをエンコードするコマンドの前に、このコマンドをテンプレートに配置する必要があります。 たとえば:
<?register-barcode-vendor:'oracle.xdo.template.rtf.util.barcoder.BarcodeUtil';'XMLPBarVendor'?>
where
oracle.xdo.template.rtf.util.barcoder.BarcodeUtil
はJavaクラスで、
XMLPBarVendor
は、クラスによって定義されたベンダーIDです。
データのエンコード
この構文をテンプレートのフォーム・フィールドで使用して、データを書式設定します。
<?format-barcode:data;'barcode_type';'barcode_vendor_id'?>
where
data
は、エンコードされるXMLデータ・ソースの要素です。 次に例を示します: LABEL_ID
barcode_type
は、データの書式設定に使用されるエンコーディングJavaクラスのメソッドです。 次に例を示します: code128a
.
barcode_vendor_id
は、使用するバーコード・エンコーダです。 barcode_vendor_id
の値には、null
、'Oracle Analytics Publisher'
、'Libre',
または 'Monotype'
を指定できます。 barcode_vendor_id
パラメータの値がnull
または'Oracle Analytics Publisher'
の場合、「パブリッシャ」は、「バーコード・エンコーダ」レポート・プロパティの値に応じて、MonotypeまたはLibreエンコーダを選択します。
たとえば:
<?format-barcode:LABEL_ID;'code128a';'Libre'?>
実行時に、データ値を書式設定するためにbarcode_typeメソッドがコールされ、バーコード・フォントが最終出力のデータに適用されます。