Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド 12c (12.2.1.2) E82763-01 |
|
前 |
次 |
表12-10に、宛先フォーマットがPostScriptである場合におけるクロス・プラットフォーム配布シナリオを示します。
ここでは、マルチバイトPostScript出力を想定したレポートの設計および配布を、次の項で説明します。
UNIXプラットフォームにレポートを配布する前に、次の手順を実行してレポートを準備します。
新しいレポートを作成します。
レポートで使用するフォントについて、次の項目を確認します。
UNIXで使用可能なフォントを使用します。Windows (TTFファイル)で使用可能なすべてのフォント・ファイルが、UNIX (AFMファイルまたはTFMファイル)でも使用できるとは限りません。UNIXプラットフォームで使用できる適切なAFMまたはTFMフォント・ファイルがある場合は、そのフォント・ファイルを使用できます(PostScriptの場合はAFMファイル、PCLの場合はTFMファイル)。
注意: AFMがサポートされるのは、日本語エンコードを除き、シングルバイトのPostScriptファイル生成時のみです。AFMファイルに対してサポートされるコード体系は、次のとおりです。
|
適切に拡大または縮小可能なフォントを使用します。たとえば、Tahomaは異なるフォント・サイズに適切に拡張または縮小できますが、MS Sans Serifはできません。これは、MS Sans Serifがラスター・フォントであるためです。ラスター・フォントはサイズを変更できず、一般的に表示が粗くなる問題があります。一方、TahomaはTrueTypeフォントであり、MS Sans Serifと外観が非常に似ています。またTahomaはベクトル・フォントであるため、任意のサイズに変更したり、適切な角度にフォントを回転したりできます。
Unicode文字が含まれないフォントを使用します。Oracle Reportsでは、UNIXプラットフォームで出力されたPost Scriptに対してUnicode文字セットがサポートされていません。そのかわり、次のいずれかを使用できます。
Oracle ReportsのPDF出力(desformat=pdf
): 第10.6.1項「マルチバイト文字セットの印刷」に記載しているように、これによってマルチバイト文字セットがサポートされています。
Oracle ReportsユーティリティであるIXおよびPASTA: Oracle Reportsのインストール時に出力されOracle Applicationsで使用されるPostScript出力でフォントを埋め込むためのユーティリティです。詳細は、第10.6.2項「IXおよびPASTAの概要」を参照してください。
PostScriptの出力を設計プラットフォーム(Windows)と同様に配布プラットフォーム(UNIX)で表示するには、両方のプラットフォームで同じ用紙サイズを設定する必要があります。Windowsでデフォルトの用紙サイズをレターから他のサイズ(A4など)に変更するには、次の作業が必要です。
「設定」→「コントロール パネル」→「プリンタ」を選択します。
デフォルトのプリンタを右クリックし、「プロパティ」を選択します。
「全般」タブの「印刷設定」をクリックします。
「用紙/品質」タブの「詳細設定」をクリックします。
用紙サイズを選択し、「OK」をクリックします。
デフォルトの用紙サイズが設定されたメイン・ダイアログ・ボックスが表示されるまで、「OK」をクリックします。
UNIX上に使用可能なAFMフォント・ファイルがない場合、または文字の不揃いなどレポート出力にフォントの問題が発生した場合は、ttf2pt1
など、サード・パーティの無料ユーティリティを使用してWindowsのTTFファイルを変換し、AFMファイルを生成できます。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。
レポートをUNIXプラットフォームに配布するには、次の手順を実行します。
レポートに使用されているフォントに対応するTTFファイルを探します。これらのTTFファイルをAFMに変換して、レポートに使用されているフォント用のAFMファイルを作成します。
TTFファイルからAFMファイルへの変換には、TrueTypeからType1へのフォント変換ユーティリティを使用します。たとえば、ttf2pt1
です。
変換後、AFMファイルの名前から拡張子.afm
を削除します。例:
AFMファイルを$ORACLE_HOME/guicommon/tk/admin/AFM
ディレクトリにコピーします。
TK_PRINTER
環境変数またはPRINTER
環境変数に、デフォルトのプリンタの名前が設定されていることを確認します。たとえば、printer1
です。
uiprint.txt
に次のような適切なPPDファイルのエントリがあることを確認します。printer name: PostScript:2:test:ppd file
。この例では、次のようになります。
printer1:PostScript:2:test:hpljet42.ppd
任意のテキスト・エディタを使用して、ファイルhpljet42.ppd
を編集します。たとえば、DefaultPageSize
、DefaultPageRegion
およびDefaultPaperDimension
を次のように編集して、デフォルトの用紙をレターからA4に変更します。
….. *DefaultPageSize: A4 ….. *DefaultPageRegion: A4 ….. *DefaultPaperDimension: A4 ….
注意: PPDファイルをORACLE_HOME/guicommon/tk/admin/PPD から次の場所にコピーします。
|
使用するPPDファイルに、レポートに使用されているすべてのAFMファイルのエントリがあることを確認します。
Font Information
セクションに移動して、新しいAFMファイルに必要なエントリを次のような形式で追加します。
*FONTNAME:ENCODING:VERSION:LOCATION
例:
*Font Arial: Standard "(Version 2.76)" Standard ROM
レポートをプリンタに対して実行し、A4サイズで出力されることを確認します。
http://mywebserver.com:reports/rwservlet?server=myserver+report="c:\test.rdf"+a uthid=hr/hr@mydb+desformat=postscript+destype=cache
この項では、レポートをPostScript出力に配布する作業に関連したよくある質問(FAQ)に回答します。
質問
Oracle Reportsでは、Unicode PostScriptファイルの生成をサポートしていますか。
回答
現在、Oracle Reportsでは、Windowsプラットフォームの場合のみPostScript出力におけるUnicode文字セットをサポートしています。UNIXプラットフォームでは、次のいずれかを使用できます。
Oracle ReportsのPDF出力(desformat=pdf
): 第10.6.1項「マルチバイト文字セットの印刷」に記載しているように、これによってマルチバイト文字セットがサポートされています。
Oracle ReportsユーティリティであるIXおよびPASTA: Oracle Reportsのインストール時に出力されOracle Applicationsで使用されるPostScript出力でフォントを埋め込むためのユーティリティです。詳細は、第10.6.2項「IXおよびPASTAの概要」を参照してください。
質問
Oracle Reportsでは、PostScript出力ファイルにフォントを埋め込むことができますか。
回答
Oracle Reportsでは、PostScript出力ファイルにフォントは埋め込まれません。フォント名と、AFMファイルを使用して計算されたメトリックが書き込まれます。そのため、レポートでフォントの位置の問題が起こらないようにするには、必要なフォントをプリンタにインストールしておく必要があります。
質問
UNIXの異なるインストールでレポートを実行すると、レポートのページ数が異なります。インストールに関係なくレポートのページ数を同じにするには、どうすればよいでしょうか?
回答
UNIXでは、Oracle Reportsはインストールのデフォルト・プリンタのPPD/HPDファイルを使用してフォーマットを行います。解像度やフォント・リストは、このPPD/HPDファイルから取得されます。Oracle Reports 10g (9.0.4)以降、インストールにデフォルトのプリンタが設定されていないと、screenprinter.ppd
が使用されるようになりました。このPPDファイルによって画面がエミュレートされます。初期のリリースのOracle Reportsでは、かわりにDISPLAY
環境変数が使用されていました。2つのインストール間で同じAFM/TFMファイルおよびフォント・ファイルが使用されていることを確認します。これで、PDF出力のページ数は同じになるはずです。