ヘッダーをスキップ

Oracle Reports レポート作成ガイド
10gリリース2(10.1.2)
B25068-01
目次
目次
索引
索引

戻る 次へ

38
PDF出力用のマルチバイト・キャラクタを含むレポートの作成

この章では、マルチバイト・キャラクタを含むレポートについて説明します。この章の手順に従うと、図38-1および図38-2に示すPDFレポート出力を生成できます。

図38-1    日本語でのマルチバイト・キャラクタ・セットUTF8のレポートの出力


画像の説明

図38-2    ポーランド語での同じマルチバイト・キャラクタ・セットUTF8のレポートの出力


画像の説明

概要

使用例

この例では、米国、日本およびポーランドに事務所を置いて、国際的な取引を行っています。この組織では、現地の責任者が倉庫の在庫を管理しています。様々な場所にある事務所では、それぞれ適した言語で製品リストを印刷する必要があります。マルチバイト・キャラクタを含むPDFフォーマットのレポートを作成し、Webおよびペーパー出力します。

このサンプル・レポートの作成過程では、次を行います。

サンプルのマルチバイト・キャラクタ・セット・レポートを表示するには、サンプル・フォルダMultibyte¥resultを開き、Oracle ReportsのサンプルMultibyte_UTF8.rdfを開きます。このファイルの開き方の詳細は、「はじめに」の「サンプル・レポートへのアクセス」を参照してください。

38.1 この例の前提条件

この章の例を作成するには、サンプル・ファイルが必要です(前述の「使用例」を参照)。また、Oracle Database付属のOrder Entryサンプル・スキーマに対するアクセス権が必要です。このサンプル・スキーマに対するアクセス権の有無が不明のときは、データベース管理者に問い合せてください。またシステムにAcrobat Readerをインストールする必要があります。


注意

Oracle Reportsには、UNIX上でのUTF-8キャラクタ・セットとマルチバイト・フォントの使用に関していくつかの制限があるため、このレポートはWindowsでのみ作成することをお薦めします。UNIX上でマルチバイト・レポートをデプロイするには、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』の「クロス・プラットフォームにおける移植の問題の修正」の章を参照してください。 


レポートを実行する前に、次の設定手順を実行します。

  1. WindowsレジストリのORACLEキーのIDS_HOMEで、NLS_LANGAMERICAN_AMERICA.UTF8に設定します。

    ヒント

    レジストリ・キーを変更するとシステムが不安定になることがあるため、編集する前にレジストリをバックアップしてください。 

  2. uifont.aliファイルを開き、それを編集してTrueTypeフォント・ファイル名を指定します。[PDF:Subset]セクションで、"Arial Unicode MS" = "ARIALUNI.TTF"と入力します。その行を挿入した後は、uifont.aliファイルは次のようになります。

    図38-3    編集してTrueTypeフォント・ファイル名を挿入したuifont.aliファイル


    画像の説明


    注意

    Windowsでは、 uifont.aliファイルはORACLE_HOME¥tools¥commonにあります。UNIXでは、ORACLE_HOME/guicommon/tk/adminにあります。uifont.aliファイルは、Oracle Reportsによって使用されるフォント・エイリアスを定義し、クロス・プラットフォーム開発に大変便利です。このファイルによって、特定のフォントを使用できない場合にかわりに使用するフォントを定義できます。詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』の「Oracle ReportsでのPDFの使用」の章の「フォント関連の機能」の項を参照してください。このマニュアルは、Oracle Technology NetworkのOracle Reportsドキュメントのページ(http://www.oracle.com/technology/documentation/reports.html)から入手できます。 


  3. WindowsレジストリのOracleキーおよびIDS_HOMEで、ARIALUNI.TTF TrueTypeフォント・ファイルの場所をREPORTS_PATHの値に追加します。たとえば、 C:¥WINNT¥Fontsを追加します。


    注意

    TrueTypeフォント・ファイルARIALUNI.TTFC:¥WINNT¥Fontsインストールされていない場合は、インストールします。 


38.2 マルチバイト・レポートの問合せおよびペーパー・レイアウトの作成

レポートは、レポート・ウィザードを使用して作成するか、または手動で作成できます。

この例のレポートを作成するには、レポート・ウィザードを使用します。ウィザードを使用して、レポートのレイアウト、スタイル、フィールドおよびテンプレートの詳細を指定します。また、ランタイム・ユーザー・パラメータによる条件を含むSQL問合せも設定できます。このパラメータによって、ユーザーは、印刷されるレポート出力の言語を指定できます。

簡単なレポートを作成するには:

  1. Reports Builderを起動します。すでに起動している場合は、「ファイル」→「新規」→「レポート」を選択します。

  2. 「ようこそ」ダイアログ・ボックスまたは「新規レポート」ダイアログ・ボックスで、「レポート・ウィザードを使う」を選択して「OK」をクリックします。

  3. 「ようこそ」ページが表示されたら、「次へ」をクリックします。

  4. 次のページで、「Webおよびペーパー・レイアウトの両方を作成」が選択されていることを確認し、「次へ」をクリックします。

  5. 「スタイル」ページで次の操作を行います。

    • レポートの「タイトル」を入力します。たとえば、製品リストなどです。

    • 「表」が選択されていることを確認します。

    • 「次へ」をクリックします。

  6. 「データ・ソース」ページで、「SQL問合せ」が選択されていることを確認し、「次へ」をクリックします。

  7. 「データ」ページで「クエリー・ビルダー」をクリックします。

  8. 「データ表選択」ダイアログ・ボックスで、「PRODUCT_DESCRIPTIONS」をクリックし、「インクルード」をクリックします。

  9. 「閉じる」をクリックします。

  10. クエリー・ビルダーに表が表示されます。次の列名の左側をクリックし、それらを選択します。

    • PRODUCT_ID

    • LANGUAGE ID

    • TRANSLATED_NAME

    • TRANSLATED_DESCRIPTION

  11. 「OK」をクリックします。

  12. 「データ・ソース定義」フィールドに、問合せが次のように表示されます。

    SELECT ALL PRODUCT_DESCRIPTIONS.PRODUCT_ID,
    PRODUCT_DESCRIPTIONS.LANGUAGE_ID,
    PRODUCT_DESCRIPTIONS.TRANSLATED_NAME,
    PRODUCT_DESCRIPTIONS.TRANSLATED_DESCRIPTION
    FROM PRODUCT_DESCRIPTIONS
    


    注意

    この問合せは、次のいずれかの方法で入力できます。

    • 提供されているテキスト・ファイルutf8_code.txtからコードをコピーして「データ・ソース定義」フィールドに貼り付けます。

    • 前述の手順で説明されているように、「クエリー・ビルダー」をクリックして、コードを入力せずに問合せを作成します。

    • 「データ・ソース定義」フィールドにコードを入力します。

     

  13. 「データ・ソース定義」フィールドで、問合せのFROM句の後にwhere language_id = :p_lang_idと入力します。これによって、where句が問合せ定義に追加されます。where句によって、ユーザーが実行時に選択した言語に基づいてデータが制限されます。

    問合せは次のようになります。

    SELECT ALL PRODUCT_DESCRIPTIONS.PRODUCT_ID,
    PRODUCT_DESCRIPTIONS.LANGUAGE_ID,
    PRODUCT_DESCRIPTIONS.TRANSLATED_NAME,
    PRODUCT_DESCRIPTIONS.TRANSLATED_DESCRIPTION
    FROM PRODUCT_DESCRIPTIONS
    where language_id = :p_lang_id
    


    注意

    :p_lang_idは、コロンが前に付いている場合はパラメータとして処理されます。パラメータが存在しない場合、Reports Builderによってパラメータが作成されます。その後は、オブジェクト・ナビゲータの「データ・モデル」ノードの「ユーザー・パラメータ」セクションでこのパラメータにアクセスできます。 


  14. 「次へ」をクリックします。

    Reports Builderには、追加のパラメータが作成されたことを示す次のメッセージが表示されます。

    Note: The query 'Q_1' has created the bind parameter(s) 'P_LANG_ID'
    
    
  15. 「OK」をクリックします。

  16. 「フィールド」ページで次の操作を行います。

    • 「使用可能フィールド」リストの「PRODUCT_ID」をクリックし、「>」ボタンをクリックしてフィールドを「表示フィールド」リストに移動します。

    • 「TRANSLATED_NAME」をクリックし、「>」ボタンをクリックしてフィールドを「表示フィールド」リストに移動します。

    • 「TRANSLATED_DESCRIPTION」をクリックし、「>」ボタンをクリックしてフィールドを「表示フィールド」リストに移動します。

  17. 「次へ」をクリックします。

  18. 「合計」ページで「次へ」をクリックします。

  19. 「ラベル」ページで「次へ」をクリックします。

  20. 「テンプレート」ページで「Beige」が選択されていることを確認し、「終了」をクリックします。

    ユーザー・パラメータを参照したため、Reports Builderによって「ランタイム・パラメータ・フォーム」が表示されます。

  21. JA」と入力し、「レポート実行」ボタンをクリックし、レポートを実行します。

    レポート出力がペーパー・デザイン・ビューに表示されます。表示は次のようになります。

    図38-4    デフォルト設定の日本語文字がないレポートのペーパー・デザイン・ビュー


    画像の説明

    ヒント

    結果が表示されない場合、指定した条件でデータベースからデータが取得されるように、値JAが大文字で入力されていることを確認してください。 

    UTF8 TrueTypeフォントが選択されていないため、日本語文字はまだ表示されません。

  22. レポートをmultibyteutf8_<自分のイニシャル>.rdfという名前で保存します。


    注意

    レポートを設計するときは、予防策としてレポートを頻繁に異なるファイル名で保存しておくことをお薦めします。そうすれば、いくつかの変更を修正する必要が生じたり、エラーが発生した場合に、前に保存したファイルに戻り、その時点から修正することができます。 


38.3 レポートでのマルチバイト・キャラクタの表示

レポートは正常に作成され、実行されました。次に、フォントをUTF8マルチバイト・キャラクタ・セットTrueTypeフォントに変更し、レポート出力で選択した言語の文字が表示されるようにする必要があります。

フォントをマルチバイト・キャラクタTrueTypeフォントに変換するには:

  1. ペーパー・デザイン・ビューで、[Shift]キーを押しながら、「Translated Name」と「Translated Description」ラベルの下の値をクリックし、これらの2つの列のすべての値を選択します。それらのプロパティを同時に変更できるようになります。

  2. ツールバーのフォント・ボックスから「Arial Unicode MS」を選択します。

    レポートが実行され、レポート出力のペーパー・デザイン・ビューが日本語文字で表示されます。表示は次のようになります。

    図38-5    日本語文字を含むレポートのペーパー・デザイン・ビュー


    画像の説明

同じレポートを別の言語で実行するには:

同じレポートを異なるランタイム・パラメータで再度実行し、別の言語で出力を表示するには、次の手順を実行します。

  1. ツールバーの「ペーパー・レイアウトを実行」ボタンをクリックするか、「プログラム」→「ペーパー・レイアウトを実行」を選択します。

  2. ランタイム・パラメータ・フォームで、値PLを入力し、「レポート実行」ボタンをクリックし、レポートを実行します。

    レポート出力のペーパー・デザイン・ビューが、ポーランド語文字で表示されます。表示は次のようになります。

    図38-6    ポーランド語キャラクタを含むレポートのペーパー・デザイン・ビュー


    画像の説明

38.4 レポートのPDFドキュメントの作成

Reports Builderでは、PDFフォーマットでのマルチバイト・キャラクタがサポートされています。レポートのPDFファイルを生成すると、次のことが可能です。

PDFファイルを生成するには:

  1. Reports Builderで、「ファイル」→「ファイルへ出力」→「PDF」を選択します。

  2. レポートをmultibyteutf8_<自分のイニシャル>.pdfという名前で保存します。

  3. 表示されたランタイム・パラメータ・フォームで、値PLを(これとまったく同じように)入力し、「レポート実行」ボタンをクリックしてレポートを実行します。

    「レポート進捗」ダイアログ・ボックスが表示され、PDF出力の印刷ステータスが表示されます。このダイアログ・ボックスは、PDFが作成されると閉じます。

  4. PDFファイル(multibyteutf8_<自分のイニシャル>.pdf)を見つけ、ダブルクリックしてファイルを開きます。

表示は次のようになります。

図38-7    ポーランド語文字を含むレポートのPDFファイル


画像の説明


注意

このPDFファイルは、Unicodeフォントをインストールしていなくても、どのコンピュータでも開くことができ、まったく同じように表示されます。これは、PDFファイルにレポートで使用されるフォントが組み込まれているためです。

デフォルトでは、PDF出力の文字の輪郭がなめらかになっていないことに注意してください。Acrobat Readerの「ラインアートのスムージング」設定で文字の輪郭をなめらかに表示できます。 


38.5 まとめ

これで、すべての作業が完了しました。企業内の任意のキャラクタ・セットをサポートするレポートが正常に作成されました。Reports Builderを使用して、フォントのサブ設定を使用した移植可能なPDFファイルを生成しました。

この章で学習した内容は次のとおりです。

この例で使用されているウィザード、ビュー、プロパティの詳細は、Oracle Reportsオンライン・ヘルプを参照してください。このヘルプは、第3.1.1項「Oracle Reportsオンライン・ヘルプの使用」で説明しているとおり、Reports BuilderまたはOracle Technology Network(OTN)から表示できます。


戻る 次へ
Oracle
Copyright © 2003, 2005 Oracle.

All Rights Reserved.
目次
目次
索引
索引