クライアントサイドスクリプトを使用した形式設定の適用

スタティック PDF フォームでは、クライアント上で更新できるのはフィールドの値領域だけです。フォーム上で、これ以外はすべて固定されています。ダイナミック PDF フォームでは、フィールドオブジェクト全体をクライアント上で更新できます。以下の例では、これらの相違点を具体的に示します。

フィールドの境界線の色の変更

オブジェクトに境界線を適用するクライアントサイドスクリプトを作成した場合、スタティック PDF フォームとダイナミック PDF フォームではその結果が異なります。

例えば、フィールドの exit イベントで境界線の色を赤に変更するスクリプトを作成できます。

TextField1.border.edge.color.value="255,0,0"

スタティック PDF フォームでは、エンドユーザーがフィールドから別の場所に移動すると、値領域の輪郭だけが赤くなります。

ダイナミック PDF フォームでは、エンドユーザーがフィールドから別の場所に移動すると、フィールドオブジェクト全体の輪郭が赤くなります。

フィールドの網掛けの適用

オブジェクトに網掛けを適用するクライアントサイドスクリプトを作成した場合、スタティック PDF フォームとダイナミック PDF フォームではその結果が異なります。

例えば、フィールドの exit イベントでフィールドの網掛けの色を赤に変更するスクリプトを作成できます。

TextField1.fillColor = "255,0,0"

スタティック PDF フォームでは、エンドユーザーがフィールドから別の場所に移動すると、値領域だけが赤くなります。

ダイナミック PDF フォームでは、エンドユーザーがフィールドから別の場所に移動すると、値領域を含むオブジェクト全体が赤くなります。

オブジェクトの非表示

オブジェクトを非表示にするクライアントサイドスクリプトを作成した場合、スタティック PDF フォームとダイナミック PDF フォームではその結果が異なります。

スタティックまたはダイナミック PDF フォームをデザインするときに、オブジェクトの presence プロパティを「invisible」または「hidden」に設定して、フォーム上のオブジェクトを非表示にすることができます。いずれの場合も、オブジェクトは最終的な出力には表示されません。ただし、presence の値を「hidden」に設定した場合、オブジェクトはレイアウトで領域を使用しません。このオブジェクトがフローレイアウトのサブフォームオブジェクト内にある場合は、非表示のオブジェクトに合わせてサブフォーム自体が縮小されます。

スタティック PDF フォームとダイナミック PDF フォームの違いは、スタティック PDF フォームでは、ボタンの click イベントなど、インタラクティブなスクリプティングイベントを使用してオブジェクトの presence の値を変更できないことです。スタティック PDF フォームはクライアント上で再レンダリングすることができないので、インタラクティブイベントで実行されるスクリプトでは、フォームオブジェクトの表示と非表示を切り替えることができません。ダイナミック PDF フォームは、クライアント上で再レンダリングすることができるので、このような制限はありません。

スタティック PDF フォームでフォームオブジェクトの表示と非表示を切り替えるには、initialize イベントなど、フォームのレンダリング時にトリガーされる非インタラクティブイベントを使用します。例えば、ダイナミック PDF フォームでは、ボタンの click イベントでテキストフィールドを非表示にするスクリプトを作成できます。

TextField1.presence = "invisible"

また、次のスクリプトを使用して、テキストフィールドをレイアウトから完全に削除することもできます。

TextField1.presence = "hidden"

いずれの場合も、スタティック PDF フォームでも同じスクリプトを使用して同じ結果を実現できますが、テキストフィールドまたはボタンの initialize イベントでこれらを記述する必要があります。