プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド
12c (12.2.1.2)
E82763-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

12.4 HTMLCSS、RTFまたはWeb出力の生成

表12-2に、宛先フォーマットがHTMLCSS、RTFまたはWebである場合におけるクロス・プラットフォーム配布シナリオを示します。

表12-2 クロス・プラットフォームの配布 - シナリオ1

開発プラットフォーム 配布プラットフォーム 宛先フォーマット

Windows

UNIX

HTMLCSS、RTFまたはWeb


ここでは、HTMLCSS、RTFまたはWeb出力を想定したレポートの設計および配布を、次の項で説明します。

12.4.1 レポートの設計

UNIXプラットフォームにレポートを配布する前に、次の手順を実行してレポートを準備します。

  1. 新しいレポートを作成します。レポートを作成するときは、ボイラープレートやフィールドのオブジェクトに余分なスペースを確保しておきます。これは、配布プラットフォームでレポートを実行した場合に、テキスト幅が拡張されてもボックスのサイズに収まるようにするためです。

  2. レポートで使用するフォントについて、次の項目を確認します。

    • UNIXで使用可能なフォントを使用します。Windows (TTFファイル)で使用可能なすべてのフォント・ファイルが、UNIX (AFMファイルまたはTFMファイル)でも使用できるとは限りません。UNIXプラットフォームで使用できる適切なAFMまたはTFMフォント・ファイルがある場合は、そのフォント・ファイルを使用できます(PostScriptの場合はAFMファイル、PCLの場合はTFMファイル)。


      注意:

      AFMがサポートされるのは、日本語エンコードを除き、シングルバイトのPostScriptファイル生成時のみです。

      AFMファイルに対してサポートされるコード体系は、次のとおりです。

      • AdobeStandardEncoding

      • ExtJIS12-88-CFEncoding

      • FontSpecific

      • HRoman

      • ISOLatinHebrew

      • JIS12-88-CFEncoding

      • JIS12e-88-CFEncoding


    • 適切に拡大または縮小可能なフォントを使用します。たとえば、Tahomaは異なるフォント・サイズに適切に拡張または縮小できますが、MS Sans Serifはできません。これは、MS Sans Serifがラスター・フォントであるためです。ラスター・フォントは任意のサイズに変更できず、一般的に表示が粗くなる問題があります。一方、TahomaはTrueTypeフォントであり、MS Sans Serifフォントと非常に似ています。またTahomaはベクトル・フォントであるため、任意のサイズに変更したり、適切な角度にフォントを回転したりできます。

12.4.2 レポートの配布

新規フォント・モデルを使用する11gでのレポートの配布

  1. REPORTS_ENHANCED_FONTHANDLING環境変数がYESに設定されていることを確認します。デフォルト値はyesです。

  2. レポートに使用されているすべてのTTFファイルおよびTTCファイルをREPORTS_FONT_DIRECTORYにコピーします。デフォルトのフォント・ディレクトリは$DOMAIN_HOME/reports/fontsです。

  3. uifont.aliファイルに不要なエイリアシングがある場合は削除します。たとえば、デフォルトでArialがHelveticaにエイリアシングされている場合などです。レポートでArialフォントを使用する場合、uifont.aliファイルからエイリアシングを削除する必要があります。

  4. レポートを実行します。

Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの配布

UNIX上に使用可能なAFMフォント・ファイルがない場合、または文字の不揃いなどレポート出力にフォントの問題が発生した場合は、ttf2pt1など、サード・パーティの無料ユーティリティを使用してWindowsのTTFファイルを変換し、AFMファイルを生成できます。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。

AFMフォント・ファイルを使用できない場合にUNIXプラットフォームにレポートを配布するには、次の作業が必要です。

  1. レポートに使用されているフォントに対応するTTFファイルを探します。これらのTTFファイルをAFMに変換して、レポートに使用されているフォント用のAFMファイルを作成します。

    TTFファイルからAFMファイルへの変換には、TrueTypeからType1へのフォント変換ユーティリティを使用します。たとえば、ttf2pt1です。

  2. 変換後、AFMファイルの名前から拡張子.afmを削除します。例:

    表12-3 変換後のフォント・ファイル名

    変換前 変換後 変更した名前

    arial.ttf

    arial.afm

    Arial

    cour.ttf

    cour.afm

    CourierNew


  3. 変換したAFMファイルを$ORACLE_HOME/guicommon/tk/admin/AFMディレクトリにコピーします。

  4. 任意のテキスト・エディタを使用して、screenprinter.ppdファイルを編集します。


    注意:

    ORACLE_HOME/guicommon/tk/admin/uiprint.txtにエントリを追加してデフォルトのプリンタを定義している場合は、プリンタのPPDファイル(PostScriptプリンタ)またはHPDファイル(PCLプリンタ)に適切なエントリを追加する必要があります。

    Oracle Reports 10g リリース1 (9.0.4)以降、デフォルトのプリンタを設定していない場合は、次のようになります。

    • 画面を擬似実行するデフォルト・プリンタ・サーフェス(screenprinter.ppd)がフォーマットで使用されます。

    • screenprinter.ppdファイルに必要なフォントや解像度のエントリを追加する必要があります。

    PPDファイルとHPDファイルは次の場所にあります。

    • $DOMAIN_HOME/config/fmwconfig/components/ReportsToolsComponent/<reports_tools_name>/guicommon/tk/admin/PPD

    • $ORACLE_HOME/guicommon/tk/admin

    Oracle Reportsは、HPDファイルまたはPPDファイルをまずOracleインスタンスの場所で検索し、それからOracleホームの場所で検索します。

    screenprinter.ppdファイルの詳細は、第10.8.1項「ScreenPrinter」を参照してください。


    使用するPPD/HPDファイルに、レポートに使用されているAFMファイルまたはTFMファイルすべてのエントリがあることを確認します。PPD/HPDファイルはプリンタ・ドライバの設定を含む構成ファイルであり、そのプリンタでサポートされるすべてのフォントがリストされています。

    PPDファイルのFont Informationセクションに移動して、必要なフォント・ファイルのエントリを次のような形式で追加します。

    *FONTNAME:ENCODING:VERSION:LOCATION
    

    例:

    *Font Arial: Standard "(Version 2.76)" Standard ROM
    *Font CourierNew: Standard "(Version 2.76)" Standard ROM
    

    PPDファイルに指定されているフォント名とAFMファイル名とが正確に一致していることを確認します。Oracle Reportsでは、PPDファイルのフォント名に基づいてAFMファイルを検索します。

  5. レポートに使用されているフォントがエイリアシングされていないことを確認します。

    たとえば、uifont.aliファイルを編集し、[Global]セクションのエントリをコメント化します。この例では、ArialとCourier Newのエイリアシングの対象にHelveticaとCourierが指定されています。

    [ Global ] # Put mappings for all surfaces here.
    # Mapping from MS Windows
    #Arial = helvetica
    #"Courier New" = courier
    

    これで、ArialとCourier Newは別のフォントにエイリアシングされません。


    注意:

    uifont.aliファイルは、WindowsおよびUNIXでは次のディレクトリにあります。
    • Windowsの場合: $DOMAIN_HOME\config\fmwconfig\components\ReportsToolsComponent\<reports_tools_name>\tools\common

    • UNIXの場合: $DOMAIN_HOME/config/fmwconfig/components/ReportsToolsComponent/<reports_tools_name>/guicommon/tk/admin

    フォントのエイリアシングは、特定のフォントについてAFMファイルが生成不可能な場合にのみ使用してください。その場合は、対象フォントを最も類似度が高いフォントにエイリアシングできます。エイリアシングのフォントは、レポート出力を生成するマシンにはなくても、レポート出力を表示するマシンでは必ず使用できる必要があります。


  6. レポートを実行します。

    http://mywebserver.com:reports/rwservlet?server=myserver+report="/home/myreports/test.rdf"+authid=hr/hr@mydb+desformat=htmlcss+destype=cache
    

    レポートのHTMLCSS出力は、Windowsで生成する場合とまったく同様に表示されます。

12.4.2.1 トラブルシューティング情報

配布に関する問題が発生した場合は、次のトラブルシューティング情報を参照してください。

  • HTMLCSS出力でフォントが正しく表示されない場合は、環境変数DEBUG_SLFINDを、debug.txtなどのログ・ファイル名に設定してからレポートを実行します。PPDファイルと使用されているフォントの解析時に参照されるフォント・ファイルが、ログ・ファイルdebug.txtに書き込まれます。特に次の項目について確認してください。

    1. 変更したPPDファイルが参照されているはずです。参照されていない場合は、構成に問題があります。詳細は、第9章「Oracle Reportsでのフォントの管理」を参照してください。

    2. 次に、AFMディレクトリにコピーしたAFMファイルが参照されているはずです。

    DEBUG_SLFINDの詳細は、第10章「UNIXでのOracle Reportsによる印刷」を参照してください。

12.4.3 よくある質問

この項では、レポートをHTMLCSS、RTFまたはWebに配布する作業に関連したよくある質問(FAQ)に対して回答します。

質問

Windowsでイタリックや太字などのフォント・スタイルを指定してレポートを設計したのに、UNIXで実行すると、Windowsの場合と同様に表示されません。なぜでしょうか。

回答

UNIXでは、レポートをフォーマットする場合、フォントに対応するAFMファイルが使用されます。デフォルトでは、これらのAFMファイルは、インストール時に指定された$DOMAIN_HOME/guicommon/tk/admin/AFMディレクトリから取得されます。レポート上のフォント・スタイルに対応するAFMファイルがUNIXに存在しない場合は、最も類似したAFMファイルが使用されます。たとえば、WindowsでCourier Italicフォントを使用してレポートを設計し、UNIXでそのレポートを実行した場合、標準のCourierフォントしか表示されない場合があります。これは、$ORACLE_HOME/guicommon/tk/admin/AFMディレクトリに、Courier Italicフォントに対応したAFMファイルが存在しないため、Courierが使用されたことが原因です。この問題を解決するには、AFMファイルが存在し、同じスタイルを持つ別のフォントにエイリアシングします。たとえば、uifont.aliglobalセクションで、Courier ItalicのエイリアシングとしてTimes Italicを指定します。また、Windowsには、太字、イタリック、太字のイタリックなどのバージョンを持つフォントがあります。たとえば、Arialにはarialbd.ttf (Arial bold)、ariali.ttf (Arial italic)およびarialbi.ttf (Arial bold italic)があります。そのため、太字、イタリック、太字のイタリックのTTFファイルがあるフォントを使用している場合は、ttf2pt1を使用してそれらのTTFファイルからAFMファイルを生成し、生成したAFMファイルをUNIXで使用できます。

質問

レポートをWindowsで作成し、HP-UX 11に配布しました。HP-UX 11ではフォント・スタイルは正しく表示されますが、行間隔が正しく表示されず、テキストによっては割り当てられたスペースに収まらないものもあります。テキストを正しく表示するには、行間隔をどのように修正すればよいですか。

回答

ドキュメント内のすべてのフォントに対して、対応するAFMファイルを設定します。詳細は、第12.4.1項「レポートの設計」を参照してください。

質問

レポートをWindowsで設計しました。このレポートを別のプラットフォームに配布すると、文字化けが起こります。たとえば、一部のフィールドには、実際の内容のかわりに*****が表示されます。これは間隔の問題でしょうか。

回答

Oracle Reportsが、レポートに使用されているフォントのAFMファイルを検索して、見つけられなかった可能性があります。これは、レポートのHTMLソースを開き、使用しているフォントを探すと確認できます。

次に、Oracle Reportsが最も類似度の高いフォントを使用し、そのメトリックが元のフォントよりも大きい可能性があります。そのため、文字がボックスに収まらず、実際の出力のかわりに****がフィールドに表示された可能性があります。

次の点を確認します。

  • レポートに使用されているすべてのフォントについて、AFMファイルを設定しています。詳細は、第12.4.1項「レポートの設計」を参照してください。

  • フィールドやテキスト・ボイラープレートに10%ぐらいの余分なスペースを確保しています。

質問

レポートをUNIXで実行すると、HTMLまたはHTMLCSS出力が縮小されて表示されます。しかし、同じレポートをWindowsで実行すると正しく表示されます。レポートをWindowsで実行してもUNIXで実行しても同じように表示されるようにするには、どのようにすればよいですか。

回答

Oracle9i Reportsを使用している場合、HTMLCSS出力で縮小や拡張が見られる場合は、reports.sh内のREPORTS_DEFAULT_PIXEL_SIZE環境変数の値を72から200の範囲に設定してから、Reports Serverを再起動します。

例:

REPORTS_DEFAULT_PIXEL_SIZE =72
export REPORTS_DEFAULT_PIXEL_SIZE

Oracle Reports 10gであれば、screenprinter.ppdに設定されている解像度が使用されるため、HTMLCSS出力が縮小したり拡張する問題は起こりません。この解像度は編集可能です。

*DefaultResolution: 96dpi (recommended)

質問

レポートをSolarisに配布する場合、overstrikeプロパティを使用できますか。

回答

AFMファイルには、overstrikeプロパティがサポートされないという制約があります。

質問

レポート内の正と負の数値を示すフィールドには、右揃えを指定しています。たとえば、12345.67, -12345.67のようになります。しかし、レポートをHTMLCSS出力で生成すると、位置合せが正しく表示されません。どのようにすれば正しく位置合せできますか。これはプラットフォーム固有の問題でしょうか。

回答

これは、プラットフォーム固有の問題ではありません。HTMLCSS出力のスペースをで置換すると、この問題は解決されます。この問題を回避するには、Oracle Reports 12c (12.2.1.2)にアップグレードする必要があります。