ヘッダーをスキップ
Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド
11gリリース1 (11.1.1)
B63038-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

7 PDFテンプレートの作成

この章では、BI Publisher用のPDFテンプレートを作成する方法について説明します。

この章の内容は次のとおりです。

7.1 概要

PDFテンプレートを作成するには、既存のPDFドキュメントを取得してBI Publisherのマークアップを適用します。任意のソースのPDFを使用できる、PDFテンプレートの設計には多くの選択肢があります。たとえば、次のように入力します。


注意:

サード・パーティのPDFからテンプレートを作成する際に必要な手順は、フォーム・フィールドがドキュメントに追加されているかどうかで異なります。詳細は、第7.11項「事前定義済PDFフォームからのレイアウトの作成」を参照してください。


テンプレートを設計している場合は、テンプレートをPDFに変換すると、テンプレートが一連の背景として取り扱われます。テンプレートをマークアップする場合は、この背景上にフィールドを描画します。テンプレートを編集するには、元のドキュメントを編集して、それを再度PDFに変換しなおす必要があります。

そのため、PDFテンプレートは、頻繁に更新する必要があるドキュメントには不向きです。一方、請求書や発注書など、固定テンプレートのフォームには適しています。

7.2 要件

PDFドキュメントにフォーム・フィールドを適用または編集するには、Adobe Acrobat Professionalが必要です。BI Publisherでは、テンプレートを更新するためのツールとして、Adobe Acrobat 5.0以降をサポートしています。

BI Publisherにより、入力PDFバージョンに基づいて出力PDFバージョンを次のように生成します。


注意:

BI Publisherでは、PDF 1.7標準をサポートしています。詳細は、付録F「PDFバージョンのサポート」を参照してください。


7.3 テンプレートの設計

テンプレートを設計するには、PDFに変換可能な文書を作成できるデスクトップ・アプリケーションを使用します。あるいは、用紙に印刷された文書を取り込み、テンプレートの背景として使用します。

図7-1に、サンプル発注書のテンプレートを示します。このサンプルは、Microsoft Wordを使用して設計し、Adobe Acrobat Distillerを使用してPDFに変換したものです。

図7-1 サンプル発注書のテンプレート

図7-1の説明が続く
「図7-1 サンプル発注書のテンプレート」の説明

次に、このテンプレートへの入力として使用されるXMLデータを示します。

<?xml version="1.0"?>
<POXPRPOP2>
 <G_HEADERS>
  <POH_PO_NUM>1190-1</POH_PO_NUM>
  <POH_REVISION_NUM>0</POH_REVISION_NUM>
  <POH_SHIP_ADDRESS_LINE1>3455 108th Avenue</POH_SHIP_ADDRESS_LINE1>
<POH_SHIP_ADDRESS_LINE2></POH_SHIP_ADDRESS_LINE2>
<POH_SHIP_ADDRESS_LINE3></POH_SHIP_ADDRESS_LINE3>
<POH_SHIP_ADR_INFO>Seattle, WA 98101</POH_SHIP_ADR_INFO>
<POH_SHIP_COUNTRY>United States</POH_SHIP_COUNTRY>
<POH_VENDOR_NAME>Allied Manufacturing</POH_VENDOR_NAME>
<POH_VENDOR_ADDRESS_LINE1>1145 Brokaw Road</POH_VENDOR_ADDRESS_LINE1>
<POH_VENDOR_ADR_INFO>San Jose, CA 95034</POH_VENDOR_ADR_INFO>
<POH_VENDOR_COUNTRY>United States</POH_VENDOR_COUNTRY>
<POH_BILL_ADDRESS_LINE1>90 Fifth Avenue</POH_BILL_ADDRESS_LINE1>
<POH_BILL_ADR_INFO>New York, NY 10022-3422</POH_BILL_ADR_INFO>
<POH_BILL_COUNTRY>United States</POH_BILL_COUNTRY>
<POH_BUYER>Smith, J</POH_BUYER>
<POH_PAYMENT_TERMS>45 Net (terms date + 45)</POH_PAYMENT_TERMS>
<POH_SHIP_VIA>UPS</POH_SHIP_VIA>
<POH_FREIGHT_TERMS>Due</POH_FREIGHT_TERMS>
<POH_CURRENCY_CODE>USD</POH_CURRENCY_CODE>
<POH_CURRENCY_CONVERSION_RATE></POH_CURRENCY_CONVERSION_RATE>
<LIST_G_LINES>
<G_LINES>
<POL_LINE_NUM>1</POL_LINE_NUM>
<POL_VENDOR_PRODUCT_NUM></POL_VENDOR_PRODUCT_NUM>
<POL_ITEM_DESCRIPTION>PCMCIA II Card Holder</POL_ITEM_DESCRIPTION>
<POL_QUANTITY_TO_PRINT></POL_QUANTITY_TO_PRINT>
<POL_UNIT_OF_MEASURE>Each</POL_UNIT_OF_MEASURE>
<POL_PRICE_TO_PRINT>15</POL_PRICE_TO_PRINT>
<C_FLEX_ITEM>CM16374</C_FLEX_ITEM>
<C_FLEX_ITEM_DISP>CM16374</C_FLEX_ITEM_DISP>
<PLL_QUANTITY_ORDERED>7500</PLL_QUANTITY_ORDERED>
<C_AMOUNT_PLL>112500</C_AMOUNT_PLL>
<C_AMOUNT_PLL_DISP> 112,500.00 </C_AMOUNT_PLL_DISP>
</G_LINES>
</LIST_G_LINES>
<C_AMT_POL_RELEASE_TOTAL_ROUND>312420/<C_AMT_POL_RELEASE_TOTAL_ROUND>
</G_HEADERS>
</POXPRPOP2>

7.4 テンプレートへのマークアップの追加

ドキュメントをPDFに変換した後は、XML入力ファイルからのデータを表示するフォーム・フィールドを定義します。これらのフォーム・フィールドはデータのプレースホルダとして機能します。

XMLデータをPDFテンプレートに関連付けるプロセスは、RTFテンプレートのプロセスと同じです。第4.2項「テンプレート・レイアウトへのXMLデータの関連付け」を参照してください。

Adobe Acrobatでフォーム・フィールドを描画する際、これらは設計したテンプレートの上に描画しています。テンプレート上の設計要素とフォーム・フィールドの間の関連付けはありません。したがって、フィールドはテンプレートで表示する場所に正確に配置する必要があります。

7.5 プレースホルダの作成

プレースホルダは、データを表示する方法によって、テキスト、チェック・ボックスまたはラジオ・ボタンとして定義できます。


注意:

フォーム・フィールドを追加する手順は、使用するAdobe Acrobat Professionalのバージョンによって異なります。使用しているバージョンのAdobeのドキュメントを参照してください。Adobe Acrobat 9 Proを使用している場合は、「Forms」メニューの「Add or Edit Fields」を選択します。


7.5.1 プレースホルダ名の指定

プレースホルダ名はXMLソース・フィールド名と一致している必要があります。

7.5.2 テキスト・プレースホルダの作成

ここでは、Adobe Acrobat 9 Proを使用してテキストのフォーム・フィールドのプレースホルダを作成する方法について説明します。異なるバージョンのAdobe Acrobat Professionalを使用している場合、詳細はそのバージョンのドキュメントを参照してください。

テキスト・プレースホルダを作成する手順は次のとおりです。

  1. Forms」メニューの「Add or Edit Fields」を選択します。

  2. Add New Field」リストで「Text Field」を選択します。カーソルが十字に変わります。

  3. フォーム内のフィールドを配置する場所に十字カーソルを移動してクリックします。「Field Name」ダイアログが表示されます。

  4. 名前を入力します。テキスト・フィールドの名前は、実行時にこのフィールドに移入されるデータのXML要素の名前と一致している必要があります。

  5. その他のプロパティを設定するには、「Show All Properties」をクリックします。

    「Properties」ダイアログ・ボックスを使用して、そのプレースホルダのその他の属性を設定します。たとえば、最大文字サイズの規定、フィールドのデータ型の設定、データ型の検証、表示および書式に関する属性を設定できます。

  6. 意図している正確な位置にフィールドが配置されていない場合、またはサイズが正しくない場合は、正しい位置までフィールドをドラッグし、ハンドルを使用してサイズを変更します。

7.5.3 サポートされているフィールド・プロパティ・オプション

BI Publisherでは、次のオプションをサポートしています。これらのオプションは「Field Properties」ダイアログ・ボックスから利用できます。これらのオプションの詳細は、Adobe Acrobatのドキュメントを参照してください。

  • General

  • Appearance

    • Border Settings: 色、背景、幅、スタイル

    • Text Settings: 色、フォント、サイズ

    • Border Style

  • 「Options」タブ

    • Multi-line

    • Scrolling Text

  • 「Format」タブ - 数値に関するオプションのみ

  • 「Calculate」タブ - すべての計算機能

7.5.4 チェック・ボックスの作成

チェック・ボックスは、複数を選択できるオプションを表示するために使用されます。各チェック・ボックスは、異なるデータ要素を表します。チェック・ボックスの表示を選択状態にする値を定義します。

たとえば、パワー・ステアリング、パワー・ウィンドウ、サンルーフなどの自動車のオプションをリストするチェック・ボックスをフォームに配置したとします。これらの各オプションは、XMLファイルの異なる要素(<POWER_STEERING>など)を表します。XMLファイルのこれらのフィールドに「Y」の値が含まれている場合は、チェック・ボックスが選択された状態で表示する必要があります。これらのオプションは、すべてを選択することも選択しないこともできます。

ここでは、Adobe Acrobat 9 Proを使用してチェック・ボックス・フィールドを作成する方法について説明します。異なるバージョンのAdobe Acrobat Professionalを使用している場合、詳細はそのバージョンのドキュメントを参照してください。

チェック・ボックスを作成する手順は次のとおりです。

  1. Forms」メニューの「Add or Edit Fields」を選択します。

  2. Add New Field」リストから「Check Box」を選択します。カーソルが十字に変わります。

  3. フォーム内のフィールドを配置する場所に十字カーソルを移動してクリックします。「Field Name」ダイアログが表示されます。

  4. 名前を入力します。チェック・ボックス・フィールドの名前は、状態(選択または選択解除)の決定に使用されるデータのXML要素の名前と一致している必要があります。

  5. Show All Properties」をクリックします。

  6. 「オプション」タブをクリックします。

  7. リストから「Check Box Style」タイプを選択します。

  8. Export Value」フィールドに、XMLデータ・フィールドの値と一致し、チェック・ボックスを選択された状態で表示する値を入力します。

    たとえば、各チェック・ボックス・フィールドに「Y」と入力します。

  9. 必要に応じて、その他の「Properties」を設定します。

7.5.5 ラジオ・ボタン・グループの作成

ラジオ・ボタン・グループは、1つのみを選択できるオプションを表示するために使用されます。

たとえば、XMLデータ・ファイルに<SHIPMENT_METHOD>というフィールドがあるとします。このフィールドに指定可能な値は「標準」または「夜間」です。フォームでは、このフィールドを「標準」および「夜間」というラベルが付いた2つのラジオ・ボタンで表します。両方のラジオ・ボタン・フィールドを、<SHIPMENT_METHOD>データ・フィールドのプレースホルダとして定義します。一方のフィールドは、値が「標準」の場合に選択状態になるように定義します。もう一方のフィールドは、値が「夜間」の場合に選択状態になるように定義します。

ここでは、Adobe Acrobat 9 Proを使用してラジオ・ボタン・グループを作成する方法について説明します。異なるバージョンのAdobe Acrobat Professionalを使用している場合、詳細はそのバージョンのドキュメントを参照してください。

ラジオ・ボタン・グループを作成する手順は、次のとおりです。

  1. Forms」メニューの「Add or Edit Fields」を選択します。

  2. Add New Field」リストから「Radio Button」を選択します。カーソルが十字に変わります。

  3. フォーム内のラジオ・ボタン・グループを配置する場所に十字カーソルを移動してクリックします。「Radio Group Name」ダイアログが表示されます。

  4. 名前を入力します。ラジオ・グループの名前は、状態(選択または選択解除)の決定に使用されるデータのXML要素の名前と一致している必要があります。

  5. Button Value」フィールドに、XMLデータ・フィールドの値と一致し、ボタンを選択された状態で表示する値を入力します。

    たとえば、「Standard」というラベルのフィールドの場合、「Standard」と入力します。

  6. グループに別のラジオ・ボタンを含めるには、「Add another button to group」をクリックします。ラジオ・グループの名前が名前フィールドのデフォルトになります。

  7. Button Value」フィールドに、XMLデータ・フィールドの値と一致し、このボタンを選択された状態で表示する値を入力します。

    たとえば、「Overnight」というラベルのフィールドの場合、「Overnight」と入力します。

  8. プロパティのいずれかを変更する場合は、「Show All Properties」をクリックします。ラジオ・ボタンのスタイルを変更するには、「Options」タブをクリックします。

  9. Type」ドロップダウン・リストから「Radio Button」を選択します。

  10. 必要に応じて、その他の「Properties」を設定します。

7.6 繰返しフィールドのグループの定義

PDFレイアウトでは、ページ上で繰返しフィールドが含まれる領域を明示的に定義します。たとえば、発注書レイアウトの場合、繰返しフィールドは品目ヘッダー行と合計フィールドの間の一定の場所に表示されます。

繰返しフィールドのグループを含む領域を定義する手順は、次のとおりです。

  1. グループを含める領域の最初の部分に、テキスト・フィールドを挿入します。

  2. Field Name」ダイアログで、一意の名前を入力します。このフィールドはマッピングされません。

  3. Text Field Properties」ダイアログの「Tooltip」フィールドに次の構文を入力します。

    <?rep_field="BODY_START"?>

  4. グループを含める領域の最後にテキスト・フィールドを挿入することで、グループ領域の終了を定義します。

  5. Field Name」ダイアログで、一意の名前を入力します。このフィールドはマッピングされません。このフィールドに割り当てた名前は、「body start」フィールドに割り当てた名前とは異なっている必要があることに注意してください。

  6. Text Field Properties」ダイアログの「Tooltip」フィールドに次の構文を入力します。

    <?rep_field="BODY_END"?>

繰返しフィールドのグループを定義する手順は、次のとおりです。

  1. グループの最初の要素に対するプレースホルダを挿入します。


    注意:

    このフィールドの配置は、BODY_STARTタグと関連して、出現ごとに繰り返す行の間隔を定義します。第7.10.1項「繰返しフィールドの配置」を参照してください。


  2. グループの各要素に対して、「Tooltip」フィールドに次の構文を入力します。

    <?rep_field="T1_Gn"?>

    ここで、nはレイアウト上の項目の行番号を示します。

    たとえば、サンプル・レポートのグループは、3行にレイアウトされています。

    • PO_LINE_NUMで開始する行に属するフィールドに対して、次の構文を入力します。

      <?rep_field="T1_G1"?>

    • C_FLEX_ITEM_DISPで開始する行に属するフィールドに対して、次の構文を入力します。

      <?rep_field="T1_G2"?>

    • C_SHIP_TO_ADDRESSで開始する行に属するフィールドに対して、次の構文を入力します。

      <?rep_field="T1_G3"?>

    図7-2は、「Short Description/Tooltip」フィールドへの入力を示しています。

    図7-2 「Short Description/Tooltip」フィールドへの入力

    図7-2の説明が続きます
    「図7-2 「Short Description/Tooltip」フィールドへの入力」の説明

  3. (オプション)フィールドを整列します。フィールドの単一の行を正しく整列するには、Adobe Acrobatの整列機能を使用することをお薦めします。

7.7 ページ番号および改ページの追加

この項では、PDFレイアウトに後続ページの機能を追加する方法について説明します。

7.7.1 ページ番号の追加

ページ番号を追加するには、ページ番号を表示するフィールドをレイアウトに定義して、そのフィールドに初期値を入力します。

ページ番号を追加する手順は、次のとおりです。

  1. ページ番号を表示するレイアウト上の位置を決定します。

  2. @pagenum@と呼ばれるプレースホルダ・フィールドを作成します(第7.5.2項「テキスト・プレースホルダの作成」を参照)。

  3. 「Default」フィールド(「Text Field Properties」→「Options」タブ)にページ番号の開始値を入力します。XMLデータにこのフィールドの値が含まれている場合は、レイアウトに割り当てられた開始値より優先されます。開始値が割り当てられていない場合は、1にデフォルト設定されます。

7.7.2 改ページの追加

レイアウトの改ページは、繰返し可能フィールドの後ろに配置されるように定義できます。特定のフィールドの後ろに改ページを挿入するには、「Text Field Properties」ダイアログ・ボックスの「Tooltip」フィールドに次の構文を追加します。

page_break="yes"

たとえば、次のように入力します。

<?rep_field="T1_G3", page_break="yes"?>

次の例は、レイアウトへの改ページの挿入を示しています。XMLサンプルには、各部門の従業員の給与が含まれています。

<?xml version="1.0"?>
<! -  Generated by Oracle Reports version 6.0.8.22.0  - >
<ROOT>
  <LIST_G_DEPTNO>
    <G_DEPTNO>
      <DEPTNO>10</DEPTNO>
      <LIST_G_EMPNO>
        <G_EMPNO>
          <EMPNO>7782</EMPNO>
          <ENAME>CLARK</ENAME>
          <JOB>MANAGER</JOB>
          <SAL>2450</SAL>
        </G_EMPNO>
        <G_EMPNO>
          <EMPNO>7839</EMPNO>
          <ENAME>KING</ENAME>
          <JOB>PRESIDENT</JOB>
          <SAL>5000</SAL>
        </G_EMPNO>
        <G_EMPNO>
          <EMPNO>125</EMPNO>
          <ENAME>KANG</ENAME>
          <JOB>CLERK</JOB>
          <SAL>2000</SAL>
        </G_EMPNO>
        <G_EMPNO>
          <EMPNO>7934</EMPNO>
          <ENAME>MILLER</ENAME>
          <JOB>CLERK</JOB>
          <SAL>1300</SAL>
        </G_EMPNO>
        <G_EMPNO>
          <EMPNO>123</EMPNO>
          <ENAME>MARY</ENAME>
          <JOB>CLERK</JOB>
          <SAL>400</SAL>
        </G_EMPNO>
        <G_EMPNO>
          <EMPNO>124</EMPNO>
          <ENAME>TOM</ENAME>
          <JOB>CLERK</JOB>
          <SAL>3000</SAL>
        </G_EMPNO>
      </LIST_G_EMPNO>
      <SUMSALPERDEPTNO>9150</SUMSALPERDEPTNO>
    </G_DEPTNO>
    
    <G_DEPTNO>
      <DEPTNO>30</DEPTNO>
      <LIST_G_EMPNO>
        .
        .
        .   
        
      </LIST_G_EMPNO>
      <SUMSALPERDEPTNO>9400</SUMSALPERDEPTNO>
    </G_DEPTNO>
  </LIST_G_DEPTNO>
  <SUMSALPERREPORT>29425</SUMSALPERREPORT>
</ROOT>

図7-3に示すように、レポートの要件として、部門別に各従業員の給与情報を表示する必要があるとします。

図7-3 部門別給与サマリーの例

部門別給与サマリーの例
「図7-3 部門別給与サマリーの例」の説明

各部門の後ろに改ページを挿入するには、SUMSALPERDEPTNOフィールドの「Tooltip」フィールドに、次のように改ページ構文を指定します。

<?rep_field="T1_G3", page_break="yes"?>

図7-4に、このフィールドの「Text Field Properties」ダイアログを示します。

図7-4 「Text Field Properties」ダイアログ

図7-4の説明が続きます
「図7-4 「Text Field Properties」ダイアログ」の説明

改ページを配置するためには、XMLファイルのデータを使用してフィールドを作成する必要があります。

図7-5に、データが表示されているサンプル・レポートを示します。

図7-5 データが表示されているサンプル・レポート

図7-5の説明は図の前後の段落を参照してください。
図7-5の説明が続きます
「図7-5 データが表示されているサンプル・レポート」の説明

各部門の後ろに改ページが挿入されます。

7.8 計算の実行

Adobe Acrobatでは、「Field Properties」ダイアログ・ボックスに計算機能が用意されています。

計算された合計をレポートに表示するフィールドを作成する手順は次のとおりです。

  1. 計算された合計を表示するテキスト・フィールドを作成します。フィールドに名称を指定します。

  2. Field Properties」ダイアログ・ボックスで、「Format」タブを選択します。

  3. Category」リストから「Number」を選択します。

  4. Calculate」タブを選択します。

  5. 次のフィールドの「Value is the <操作のリスト>」の横にあるラジオ・ボタンを選択します。

  6. ドロップダウン・リストから「sum(+)」を選択します。

  7. Pick...」ボタンをクリックして、合計するフィールドを選択します。

7.9 完成したPDFレイアウトの例

図7-6に、完成したPDFレイアウトを示します。

図7-6 完成したPDFレイアウト

図7-6の説明が続きます
「図7-6 完成したPDFレイアウト」の説明

7.10 実行時の動作

次の各項では、PDFテンプレートの実行時の動作について説明します。

7.10.1 繰返しフィールドの配置

すでに説明したとおり、レイアウト上に作成するフィールドの配置、間隔および整列は、基礎となるフォーム・レイアウトから独立しています。実行時に、BI Publisherは、作成したフィールドの行の配置について実行される計算に従って、繰り返す各行のデータを次のように配置します。

1度目の表示

繰返しフィールドの1行目は、レイアウト上に配置したそのフィールドの位置に表示されます。

2度目の表示(単一行)

2度目に出現したグループを配置するために、BI Publisherによって、BODY_STARTタグと1度目に表示した最初のフィールドとの間隔が計算されます。2度目に出現したグループの最初のフィールドは、1度目の表示の下に、この計算された間隔を空けて配置されます。

2度目の表示(複数行)

1度目のグループに複数の行が含まれている場合、2度目に出現したグループは、1度目の最終行の下に、計算された間隔を空けて配置されます。

グループ内の各行間は、1度目の表示で定義された間隔が保持されます。

7.10.2 フィールドに対する更新可能または読取り専用の設定

レイアウトにフィールドを定義する際は、図7-7に示すように、フィールドに対して「Read Only」を選択するオプションがあります。

図7-7 「Text Field Properties」ダイアログの「Read Only」オプション

図7-7の説明が続きます
「図7-7 「Text Field Properties」ダイアログの「Read Only」オプション」の説明

設計時の「Read Only」チェック・ボックスの設定に関係なく、PDF処理エンジンのデフォルトの動作では、出力PDFのすべてのフィールドは読取り専用に設定されます。第10章「レポート処理および出力ドキュメントのプロパティの設定」で説明されているように、この動作は、次のレポート・プロパティを使用することで変更できます。

  • all-field-readonly

  • all-fields-readonly-asis

  • remove-pdf-fields

最初の2つのオプションで、PDF出力のフィールドの状態を設定します。個別のフィールドの設定は、Adobe Acrobat Professionalを使用して出力内で変更できます。各フィールドが維持されるため、データは引き続き分離されていて抽出可能です。3番目のremove-pdf-fieldsオプションで、構造が水平化され、フィールドとデータの分離が保持されなくなります。

全フィールドを更新可能にする方法:

all-field-readonlyプロパティをFalseに設定します。設計時の個別のフィールド設定に関係なく、すべてのフィールドの読取り専用状態がFalseに設定されます。

全フィールドを読取り専用にする方法:

これは、デフォルトの動作です。設定は必要ありません。

各フィールドの「Read Only」チェック・ボックスの選択状態を維持する方法:

出力PDFで、「Read Only」チェック・ボックスの設定を各フィールドごとに維持するには、all-fields-readonly-asisプロパティをTrueに設定します。このプロパティは、all-field-readonlyの設定より優先されます。

出力PDFから全フィールドを削除する方法:

remove-pdf-fieldsプロパティをTrueに設定します。

7.10.3 データのオーバーフロー

繰り返すデータ行の表示を確保するために複数のページが必要な場合は、定義されている繰返し領域を除き、各ページは同じように表示され、繰返しデータの続きが表示されます。たとえば、発注品目の行がレイアウトに定義されている領域を超えて伸びている場合、後続のページには、発注書フォームからのすべてのデータと、品目行の続きが表示されます。

7.11 事前定義済PDFフォームからのレイアウトの作成

レポート・データのレイアウトとして使用できる多数のPDFフォームがオンランで提供されていますたとえば、ある企業で、特定の行政関係の用紙を提出する必要があるとします。この場合は、ダウンロードしたPDFファイルをレポートのレイアウトとして使用し、実行時にXMLデータを入力することでレポート・フィールドに記入されます。

一部のフォームにはすでにフォーム・フィールドがありますが、フォーム・フィールドが定義されていないフォームもあります。未確認の場合は、第7.11.1項「PDFに定義済のフォーム・フィールドが存在するかどうかの確認」を参照してください。PDFフォームにすでにフィールドが定義されている場合、次のいずれかの方法を使用して、フォーム・フィールド名とデータ・フィールド名を対応付けられます。

ダウンロードしたPDFに定義済フォーム・フィールドがない場合は、作成する必要があります。フォーム・フィールドのプレースホルダを挿入する方法の手順は、第7.4項「テンプレートへのマークアップの追加」を参照してください。

7.11.1 PDFに定義済のフォーム・フィールドが存在するかどうかの確認

PDFフォームに定義済のフォーム・フィールドが存在するかどうかを確認する手順は、次のとおりです。

  1. Adobe Acrobat ReaderまたはAdobe Acrobat Professionalでドキュメントを開きます。

  2. 「Highlight Fields」をクリックします。ドキュメント内に存在するフォーム・フィールドが強調表示されます。

フィールド名のリストを取得するには:

  1. Adobe Acrobat Professionalでドキュメントを開きます。

  2. Form」メニューから「Add or Edit Fields」を選択します。フィールド名は、ドキュメント内だけでなく「Fields」ペインにも表示されます。

7.11.2 フォーム・フィールドの名前変更による定義済PDFフォームのレイアウトとしての使用

定義済PDFフォームをレイアウトとして使用する手順は次のとおりです。

  1. PDFファイルをローカル・システムにダウンロードまたはインポートします。

  2. Adobe Acrobat Professionalでファイルを開きます。

  3. Form」メニューから「Add or Edit Fields」を選択します。これにより定義済のテキスト・フィールドが強調表示されます。

    図7-8は、「Add or Edit Fields」を選択し、テキスト・フィールドが強調表示されたサンプルのW-2 PDFフォームを示しています。

    図7-8 「Add or Edit Fields」オプションを選択した後のサンプルW-2 PDFフォーム

    図7-8の説明が続きます
    「図7-8 「Add or Edit Fields」オプションを選択した後のサンプルW-2 PDFフォーム」の説明

    既存のフォーム・フィールドを、受信したXMLファイルのデータにマップするには、XMLファイルの要素名と一致するようにフィールド名を変更します。

  4. フィールドをダブルクリックするか、フィールドを選択して右マウス・ボタンで「Properties」を選択し、フォーム・フィールドの「Properties」ダイアログを開きます。

  5. 「Name」フィールドに、入力XMLファイルに従って要素名を入力します。

  6. データ・ファイルによって移入するフィールドすべてに対して、この手順を繰り返します。

  7. すべてのフィールドを更新したら、「Close Form Editing」をクリックします。

  8. レイアウトの保存

7.11.3 「Comb of characters」オプションの使用

Adobe AcrobatでPDFフォーム・フィールドに対して「Comb of characters」オプションを選択すると、テキスト・フィールドの幅全体にわたって、テキストが均等に広がります。このオプションは、図7-9に示す「Routing number」フィールドのように、フォーム・フィールドで特定の位置に文字を入力する必要がある場合に使用します。

図7-9 特定の位置への文字配置が必要なPDFフォーム・フィールドの例

周囲のテキストで図7-9を説明しています。

この機能を使用するには、次の手順を実行します。

  1. Adobe Acrobat Professionalで、フォーム・フィールドをテキスト・フィールドとして追加します。次の図に例を示します。

    ルーティングのフォーム・フィールドの作成
  2. 「Text Field Properties」ダイアログを開いて、「Options」タブをクリックします。すべてのチェック・ボックスの選択を解除して、「Comb of characters」チェック・ボックスを選択します。


    注意:

    「Comb of characters」オプションが有効となるのは、それ以外のオプションがすべて選択解除されている場合のみです。


    テキスト・フィールドに文字数を入力します。ルーティングの番号の例では、次の図に示すように、値として「9」が入力されます。「Text Field Properties」の「Option」タブ

    そのつど指定される文字数がデータに含まれていないことがある場合には、「Alignment」オプションを設定して、フィールド内で値が右揃え、左揃え、中央揃えのいずれになるのかを指定できます。

レポートを実行すると、ルーティング・フィールドの値で構成される文字が、図7-10に示すように、テキスト・フィールド全体にわたって広がります。

図7-10 データが表示されている例

周囲のテキストで図7-10を説明しています。

ルーティング・フィールドのデータに含まれている文字が上限の9個に達しておらず、かつ「Alignment」オプションが左に設定されている場合に、フィールドにデータがどのように表示されるかを、図7-10に示します。

図7-11 データが左揃えされている例

周囲のテキストで図7-11を説明しています。

7.12 デジタル署名用フィールドの追加または指定

Oracle BI Publisherでは、PDF出力ドキュメントのデジタル署名をサポートしています。デジタル署名により、送受信するドキュメントが本物であることを検証できます。Oracle BI Publisherは一元管理されたセキュアな場所にあるデジタルIDファイルにアクセスし、実行時にそのデジタルIDによってPDF出力に署名できます。デジタル署名では、署名者のIDを検証して、署名後にドキュメントが改ざんされていないことを確認します。

デジタル署名を実装するには、BI Publisher製品でいくつかの作業を行う必要があります。このトピックでは、デジタル署名用にPDFテンプレートに新しいフィールドを追加する方法、または既存のフィールドを構成する方法について説明します。その他の必要な作業およびオプションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のデジタル署名の実装に関する項を参照してください。

7.12.1 署名フィールドのオプションについて

PDFテンプレートでは、出力レポートのデジタル署名フィールドを設計する際に次のオプションがあります。

  • 署名フィールドをPDFレイアウトに追加します。

    このオプションは、デジタル署名を特定のフィールドで表示する必要があり、PDFテンプレートに署名フィールドがない場合に使用します。第7.12.2項「署名フィールドの追加」を参照してください。

  • 既存の署名フィールドをPDFテンプレートで使用します。

    このオプションは、使用する署名フィールドがPDFテンプレートにすでに存在する場合に使用します。既存のフィールドをデジタル署名に指定するには、「ランタイム構成」ページでフィールドを定義します。第7.12.3項「実行時にデジタル署名を挿入するレポートの構成」を参照してください。

  • x座標とy座標を設定して、出力レポートのデジタル署名の位置を指定します。

    このオプションは、署名フィールドを使用するのではなく、デジタル署名フィールドの位置にx座標とy座標を指定する場合に使用します。この位置はランタイム・プロパティを使用して設定します。このプロパティの設定の詳細は、第10.4項「PDFデジタル署名プロパティ」を参照してください。

これら3つのオプションでは、テンプレートをアップロードした後に「レポート・プロパティ」ページでレポートの構成プロパティを設定する必要があります。

7.12.2 署名フィールドの追加

署名フィールドを追加する手順は、次のとおりです。

  1. Adobe Acrobat Professionalでテンプレートを開きます。

  2. Form」メニューから「Add or Edit Fields」を選択します。次に「Add New Field」をクリックします。フィールドのリストから「Digital Signature」を選択します。

  3. レイアウト上の目的の場所に署名フィールドを描画します。マウス・ボタンを放すと、ダイアログが表示されて、フィールドの名前を入力するように求められます。

  4. 署名フィールドの名前を入力します。図7-12は、My_Signatureというデジタル署名フィールドが挿入された状態を示しています。

    図7-12 My_Signatureというデジタル署名フィールドが挿入された状態

    図7-12の説明が続きます
    「図7-12 My_Signatureというデジタル署名フィールドが挿入された状態」の説明

  5. テンプレートを保存します。

  6. 第7.12.3項「実行時にデジタル署名を挿入するレポートの構成」に進みます。

7.12.3 実行時にデジタル署名を挿入するレポートの構成

PDFテンプレートをレポート定義にアップロードしたら(第2.6.2項「テンプレート・ファイルのアップロードによるレイアウトの追加」を参照)、「レポート・プロパティ」でデジタル署名を有効にして署名フィールドを指定する必要があります。

デジタル署名を挿入するようにレポートを構成する手順は次のとおりです。

  1. レポート編集ページから「プロパティ」をクリックし、「書式設定」タブをクリックします。

  2. スクロールして、「PDFデジタル署名」プロパティ・グループを表示します。

  3. デジタル署名の有効化」を「True」に設定します。

  4. 既存の署名フィールド名」プロパティでPDFテンプレートからフィールド名を入力します。

    この方法では、これ以外のプロパティは必要ありません。

    次の図は、My_Signatureというフィールド名が「プロパティ」フィールドに入力された様子を示しています。

    図7-13 My_Signatureというフィールドが「プロパティ」フィールドに入力された状態

    図7-13の説明が続きます
    「図7-13 My_Signatureというフィールドが「プロパティ」フィールドに入力された状態」の説明

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

    ここで設定したランタイム・プロパティはレポート・レベルであり、レイアウト・レベルではないことに注意してください。したがって、レポートに関連付けられているレイアウトには、「レポート・プロパティ」で指定したデジタル署名が組み込まれています。「既存の署名フィールド名」が指定されている場合は、テンプレートに署名を適用するフィールドが含まれている必要があります。