サンプルフォームスニペットとフォーム
. . . .1
サンプルフォームスニペット. . . 1
サンプルフォーム. . . . 15
督促状サンプル. . . . 16
督促状サンプルを実行するには. . . .16
督促状フォームについて. . . .17
E
チケットサンプル. . . . 19
E
チケットサンプルを実行するには. . . .19
E
チケット出力について. . . .20
援助金申請書サンプル. . . . 23
援助金申請書サンプルを実行するには. . . .23
援助金申請書フォームについて. . . .23
発注書サンプル. . . . 24
E
チケットサンプルを実行するには. . . .25
ダイナミックおよびスキーマ発注書を実行するには. . . .26
インタラクティブおよびダイナミックインタラクティブ発注書を実行するには. . . .26
スクリプティングサンプル. . . . 27
スクリプティングサンプルを実行するには. . . .27
JavaScript . . . .27
FormCalc . . . .27
サブフォームセットのサンプル. . . . 28
サブフォームセットのサンプルを実行するには. . . .28
サブフォームセットの出力について. . . .29
1.
サンプルフォームスニペットとフォーム
1.1.
サンプルフォームスニペット
Designer
には、フォームの作成時に使用または参照できる選りすぐりのサンプルフォームスニペットがあ ります。 これらのサンプルフォームスニペットは、Designer
のインストールフォルダー内のJA¥Samples¥Form
Snippets
フォルダーにインストールされます。 次の表はサンプルフォームスニペットの一覧です。注:このドキュメントでは、
Adobe Experience Manager Forms
、AEM Forms
、LiveCycle
が同じ意味で 使用されています。 スニペットサンプル ファイル フィールドの合計の計算フォーム階層中の異なるレベルのフィールドの合計 を計算する方法を示します。 CalculateSum.xdp フィールドの塗りつぶしの色の変更実行時にフィールドの塗りつぶし色を変 更する方法を示します。 ChangeFillColor.xdp データに基づいた条件付改行の使用繰り返しサブフォームに対する条件付き 改行の適用方法を示します。 ConditionalPageBreak.xdp ConditionalPageBreak.xml データが指定されたサブフォームの使用選択サブフォームセットからのサブ フォーム表示の制御方法を示します。 DataNominatedSubform.xdp DataNominatedSubform.xml 拡大可能なフィールドの使用データ量に応じてフィールドが拡大されフロー する様子を示します。 ExpandableFields.xdp データの読み込みおよび書き出しフォーム内でのデータの読み込み方法と書 き出し方法を示します。 ImportExportData.xdp ImportExportData.xml アプリケーションを開くスクリプティングを使用してアプリケーションを開 く方法を示します。 LaunchApp.xdpPaper Forms Barcode の使用 Paper Forms Barcode のデータ容量を示しま す。データ内に大文字と小文字が混在している場合や特殊文字がある場合の、 データ容量の変化も示しています。
PaperFormBarcode.xdp
1.1.1.
フィールドの合計の計算
フィールドの合計の計算スニペットでは、フォームを開いたとき、フォーム階層中の異なるレベルのフィー ルドの合計を計算する方法を示します。 次の例とその他の情報については、AEM forms
デベロッパーセンターを参照してください。 この例では、繰り返しフィールドの合計が計算されます。 フォーム内の繰り返しフィールドの合計を計算するには1)
合計フィールドにcalculateイベントを追加します。 var fields = xfa.resolveNodes("NumericField1[*]"); var total = 0;for (var i=0; i <= fields.length-1; i++) { total = total + fields.item(i).rawValue; }
this.rawValue = total;
繰り返しサブフォーム内に階層化されたフィールドの合計を計算するには
1)
合計フィールドにcalculateイベントを追加します。var fields = xfa.resolveNodes("detail[*].NumericField1"); var total = 0;
for (var i=0; i <= fields.length-1; i++) { total = total + fields.item(i).rawValue; }
this.rawValue = total;
この例では、最初のページにあるフィールドの合計が計算されます。
最初のページにあるフィールドの合計を計算するには
1)
合計フィールドにcalculateイベントを追加します。var fields = xfa.layout.pageContent(0 , "field", 0); var total = 0;
for (var i=0; i <= fields.length-1; i++) { if (fields.item(i).name == "NumericField1") { total = total + fields.item(i).rawValue; }
}
1.1.2.
フィールドの塗りつぶし色の変更
フィールドの塗りつぶしの色の変更スニペットでは、実行時にフィールドの塗りつぶし色を変更する方法 を示します。 このスニペットでは、「塗りつぶしの色を適用」ボタンがクリックされると、テキストフィールドの色が灰 色に変わります。 フィールドの塗りつぶし色を変更するには1)
「塗りつぶしの色を適用」ボタンに次のスクリプトを追加します。 TextField1.fillColor = “200,200,200”; 同様の例については、AEM forms
デベロッパーセンターを参照してください。1.1.3.
繰り返しサブフォームでの条件付き改行の使用
データに基づいた条件付改行の使用スニペットでは、繰り返しサブフォームに対する条件付き改行の適用 方法を示します。データオーバーフローに応じたページ番号付けとは異なり、条件付き改行を使用すると、 「条件ステートメント」と呼ばれる一連のチェックに基づいて、フォームに含まれるサブフォームの改行 方法を手動で制御できます。この例では、フォームがレンダリングされるとき、3
つのコンテンツ領域を使 用してデータを3
列に編成します。カテゴリが変わるときには改行が挿入され、次の列の先頭から新しい カテゴリが開始されます。 条件付き改行は、条件付き改行の編集ダイアログボックスで指定します。このダイアログボックスを表示 するには、Movies
サブフォームオブジェクトを選択し、オブジェクトパレットの「ページ番号」タブにあ る「編集」をクリックします。 同様の例については、AEM forms
デベロッパーセンターを参照してください。1.1.4.
条件ステートメントに基づくサブフォーム表示の制御
このデータが指定されたサブフォームスニペットでは、複数の代替サブフォームの内の1
つを、条件ステー トメントに基づいてフォームに表示する方法を示します。データ連結を使用すると、フォームに表示する サブフォームを決定する条件を設定できます。 サブフォームはサブフォームセットに含まれます。Designer
では、サブフォームセットにより、サブフォー ムの表示をデータのフローに基づいて制御できます。この例では、データ内のカテゴリがコメディと一致 するたびにComedy
サブフォームが表示され、カテゴリがアクションと一致するたびにAction
サブフォー ムが表示され、データ内のカテゴリがドラマと一致するたびにDrama
サブフォームが表示されます。 代替サブフォームは、データが指定されたサブフォームを編集ダイアログボックスで指定します。このダ イアログボックスを表示するには、Movie
サブフォームセットオブジェクトを選択し、オブジェクトパレッ トの「サブフォームセット」タブにある「代替オブジェクトの編集」をクリックします。 同様の例については、AEM forms
デベロッパーセンターを参照してください。Adobe® Acrobat®
で1.1.5.
テキストフィールドで複数行のテキストを使用できるようにする
拡大可能なフィールドスニペットでは、複数行のデータを表示できるようにテキストフィールドを拡大す る方法を示します。この例では、複数行のテキストを表示できるように、5
つの質問フィールドを調整する 必要があります。 テキストフィールドオブジェクトごとに、オブジェクトパレットの「フィールド」タブにある「複数行」オ プションを選択することにより、1
行以上の改行テキストを受け入れられるように設定します。 また、同じページに収まらないテキストを適切に表示するため、Questions
サブフォームの「コンテンツ内 で改ページを許可」オプションを選択します。 同様の例については、AEM forms
デベロッパーセンターを参照してください。1.1.6.
読み込むデータおよび書き出すデータのファイル名の入力を促す
データの読み込みおよび書き出しスニペットでは、読み込んだり書き出んだりするXML
データのファイル 名を入力するように、ユーザーに促す方法を示します。 この例では、「データの書き出し」ボタンのスクリプトによってファイル名が与えられないので、書き出さ れるデータファイルの名前を指定するようにユーザーに促します。 「データの書き出し」ボタンにスクリプトを追加するには xfa.host.exportData(““,0); 同様に、「データの読み込み」ボタンのスクリプトによってファイル名が与えられないので、読み込まれる データファイルの名前を指定するようにユーザーに促します。 「データの読み込み」ボタンにスクリプトを追加するには xfa.host.importData(““,0); 同様の例については、AEM forms
デベロッパーセンターを参照してください。1.1.7.
フォームからアプリケーションを開く
アプリケーションを開くスニペットでは、フォームからブラウザーでユーザー指定の
URL
を開く方法、 およびフォームからAcrobat
またはAdobe® Reader®
でファイルを開く方法を示します。この例では、「開く」ボタンがクリックされると、別のブラウザーコンテナーでユーザー指定の
URL
が開 きます。 ブラウザーでユーザー指定のURL
を開くスクリプトを追加するには1)
「開く」ボタンに次のスクリプトを追加します。 app.launchURL(TextField1.rawValue, true); この例では、「開く」ボタンがクリックされると、現在のコンテナーでユーザー指定のURL
が開きます。 ブラウザーでユーザー指定のURL
を開くスクリプトを追加するには1)
「開く」ボタンに次のスクリプトを追加します。 xfa.host.gotoURL(TextField2.rawValue, 0);この例では、「開く」ボタンがクリックされると、
Acrobat
またはAdobe Reader
でユーザー指定のユーザー指定の
1)
「開く」ボタンに次のスクリプトを追加します。 app.openDoc(FilePath.rawValue);同様の例については、
AEM forms
デベロッパーセンターを参照してください。1.1.8.
Paper Forms Barcode
のデータの表示
Paper Forms Barcode
の使用スニペットでは、Paper Forms Barcode
の容量を示します。データ内に大文 字と小文字が混在している場合や特殊文字がある場合の、データ容量の変化も示しています。この例では、
255
未満の文字数を入力し、「データを生成」ボタンをクリックすると、バーコードデータ容 量が変化します。また、「大文字のみ使用」チェックボックスの選択を解除すると、大文字と小文字を混在 させたときにバーコードのデータ容量が減少することがわかります。「生成する文字数」テキストボックスのスクリプトを追加するには
form1.#subform[0].CharstoGen::validate - (JavaScript, client) // The maximum number of characters to generate is 255.
if (this.rawValue > 255) {
this.rawValue = 255; false;
「大文字のみ使用」チェックボックスのスクリプトを追加するには
form1.#subform[0].UpperCaseOnly::change - (JavaScript, client) if (this.rawValue == 1)
{
CharacterBase.value = " ABC DEF GHI JKL MNO PQR STU VWX YZ,"; }
else {
CharacterBase.value = " ABC DEF GHI JKL MNO PQR STU VWX YZa bcd efg hij klm nop qrs tuv wxy z01 234 567 890 <xml>,";
xfa.host.messageBox("When data is encoded into a PDF417 barcode, all UPPER CASE data requires less space in a barcode. 大文字 と 小文字の切 り 替え を行 う 場合、特殊文字をバー コ ー ド 内に埋め込み、 大文字 と 小文字間の変更が行われてい る こ と をデ コ ーダーまたはスキ ャ ナーが認識 で き る よ う にする必要があ り ます。 こ の例か ら分かる よ う に、 バー コ ー ド のデー タ 容量は、 大文字 と 小文 字が混在 し てい る場合に少な く な り ます。 ", " 大文字 " ,3, 1); } if (CharstoGen.rawValue >= 255) CharstoGen.rawValue = 255; 「データを生成」ボタンにスクリプトを追加するには
form1.#subform[0].Button1::click - (JavaScript, client) // Display random data in Paper Form barcode.
var RandomLetters = ""; var sequence = ""; var FieldFillSize = 0; var nIndex = 0; RandomLetters = CharacterBase.value; FieldFillSize = CharstoGen.rawValue; for (var i = 1; i <= FieldFillSize; i++) {
nIndex = Math.floor(Math.random() * RandomLetters.length); sequence = sequence + RandomLetters.charAt(nIndex);
}
バーコードにスクリプトを追加するには
BarcodeData.rawValue = sequence;
form1.#subform[0].Barcode::calculate - (JavaScript, client) //{{Start Generated Content//
var is705ViewerRequired = false; //End Generated Content}}// function createBarcodeContent() {
// TODO: Encode your barcode content here var barcodeContent = " ";
barcodeContent = BarcodeData.rawValue; return barcodeContent;
}
// Assign content to the barcode. // Note: Do not assign a null value to // the barcode. Otherwise, the barcode is // displayed as blank. if(createBarcodeContent() != null) { this.rawValue = createBarcodeContent(); } else { this.rawValue = " "; }
// Final sanity check, located here not for
// efficiency but for consistency and correctness if (is705ViewerRequired && xfa.host.version < 7.05) {
this.rawValue = " "; }
1.1.9.
スクリプトを使用した日付の検証
日付の検証スニペットでは、ユーザーが入力した日付範囲に基づく日付の検証方法を示します。 この例では、ユーザーがカレンダーから日付を選択します。次に、指定された日付を有効と見なす日付範 囲を指定します。指定された日付と日付範囲がフォームによって比較され、指定された年、月および日が 有効かどうかがレポートされます。 「検証」ボタンにスクリプトを追加するにはform1.#subform[0].Button1::click - (JavaScript, client) Status.clearItems(); //Clear the status listbox.
// Create a date() for parsing information. var sDate = Date.rawValue;
var oDate = util.scand("yyyy-mm-dd", sDate); if(oDate == null)
{
xfa.host.messageBox("Pleae enter a valid date."); exit;
}
// Store date values.
var nYear = oDate.getFullYear();
var nMonth = oDate.getMonth() + 1; // 0 based var nDay = oDate.getDate();
// Validation flags. var bStartYear = false; var bEndYear = false; var bStartMonth = false; var bEndMonth = false; var bStartDay = false; var bEndDay = false;
bStartYear = true;
if((EndYear.rawValue == null) || (EndYear.rawValue >= nYear)) bEndYear = true;
if(bStartYear && bEndYear) Status.addItem("valid year");
else Status.addItem("invalid year"); // Validate the month range.
if((StartMonth.rawValue == null) || (StartMonth.rawValue <= nMonth)) bStartMonth = true;
if((EndMonth.rawValue == null) || (EndMonth.rawValue >= nMonth)) bEndMonth = true;
if(bStartMonth && bEndMonth) Status.addItem("valid month"); else
Status.addItem("invalid month"); // Validate the day range.
if((StartDay.rawValue == null) || (StartDay.rawValue <= nDay)) bStartDay = true;
if((EndDay.rawValue == null) || (EndDay.rawValue >= nDay)) bEndDay = true;
if(bStartDay && bEndDay) Status.addItem("valid day"); else
Status.addItem("invalid day");
2.
サンプルフォーム
Designer
には、完全なサンプルフォームが各種用意されています。各サンプルフォームには、フォームデ ザインと最終のバージョンフォームが含まれています。一部のサンプルフォームにはサンプルデータやス キーマも含まれています。サンプルフォームは、単純型と複合型の両方のフォームデザインテクニックを 表したもので、Designer
のインストールフォルダー内のJA¥Samples
フォルダーにインストールされます。注:
Purchase Order Dynamic.xdp
などの一部のサンプルフォームデザインは、データとマージして使用 します。この種のフォームをAcrobat
またはAdobe Reader
で開くときに、警告 が生成される場合があります。 次の表に、すべてのサンプルとDesigner
インストールフォルダーにおける各サンプルの場所を示します。 フォームサンプル 場所 催促状ダイナミック PDF フォームの動作を実際に試すことができます。 ¥JA¥Samples¥Forms¥Dunning Notice E チケットダイナミック PDF フォームの動作を実際に試すことができます。 Designer ヘルプ E-Ticket.pdf サンプルファイルに表示される数字記号につい て説明します。 ¥JA¥Samples¥Forms¥E-Ticket 援助金申請書インタラクティブ PDF フォームの動作を実際に試すことができ ます。 ¥JA¥Samples¥Forms¥Grant Application 発注書ダイナミックおよびインタラクティブな PDF フォームの動作を実際に 試すことができます。 ¥JA¥Samples¥Forms¥Purchase Order スクリプティング FormCalc および JavaScript 言語によるスクリプト記述を 体験できます™ 。スクリプトをボックスに入力し、ボタンをクリックすると、 そのスクリプトを実行できます。 ¥JA¥Samples¥Forms¥Scripting サブフォームセットダイナミック PDF フォームの動作を実際に試すことがで きます。サンプルには 4 つのサブサンプルが含まれています。これを使用して、 サブフォームタイプと繰り返し回数の様々な関係に応じたサブフォームセッ トオブジェクトのインスタンス作成動作を実際に試すことができます。 ¥JA¥Samples¥Forms¥SubformSet 納税証明書ダイナミック PDF フォームの動作を実際に試すことができます。 ¥JA¥Samples¥Forms¥Tax Receipt3.
督促状サンプル
督促状サンプルを使用して、ダイナミック3
つの督促レベルを使用できます。各レベルに適した情報が、未払い文書のリストと共 に印刷される必要があります。 サンプルには以下のファイルが含まれます。3.1.
督促状サンプルを実行するには
1)
¥JA¥Samples¥Forms¥Dunning Notice¥Forms
にあるDunning Notice.xdp
ファイルをDesigner
で 開きます。2)
プレビューオプションを指定するには、ファイル/フォームのプロパティを選択します。3)
「•
プレビューのタイプリストから「印刷フォーム」を選択します。•
「データファイル」ボックスでData
フォルダーを参照し、いずれかのサンプルデータファイル (例えば、Dunning Notice Level1.xml
)を選択します。•
「OK
」をクリックします。4)
フォームをプレビューするには、「Outputs
フォルダーにある出力サンプル3
セットのデータをそれぞれに結合してレンダ リングしたフォームです。これらのファイルを使用して、プレビュー表示したフォームの結果と比較でき ます。 ファイル 説明Dunning Notice.xdp Designer フォームファイルは Forms フォルダー内にあります。
Dunning Notice Level1.xml Dunning Notice Level2.xml Dunning Notice Level3.xml
Data フォルダー内の XML データファイル。Dunning Notice Level 3 データファ イルには、多くの請求書が含まれているので 1 ページには収まりません。
Dunning Notice.tif 画像ファイルは Images フォルダー内にあります。
Dunning Notice Level1.pdf Dunning Notice Level2.pdf Dunning Notice Level3.pdf
3.2.
督促状フォームについて
このフォームの特長は以下のとおりです。 フォームの階層構造 督促状フォームは、間接的なデータ連結処理の利点を活かすことができるデータ構造に基づいています。 マスターページ2
つのマスターページが必要です。1
つ目のマスターページには、会社のロゴ、フォームタイトルお よびスタティックテキストが表示されます。これが最初に印刷されるページで、印刷時の奇数ページ に表示されます。2
つ目のマスターページは、印刷時の偶数ページに使用されます。ページ番号に加え、 同じスタティックテキストが表示されます。 ページ番号 ページ番号は、テキストオブジェクトに実行時プロパティを挿入することによって取得した計算値です。 フローコンテンツ サブフォームの親(dunningNotice
)の「コンテンツ」オプションを「フローレイアウト」に設定すると、 データがフォームに結合されるときに、サブフォームが他のサブフォームの1
つ下位に配置されます。 「コンテンツ」オプションはオブジェクトパレットの「サブフォーム」タブにあります。オブジェクトパ レットの「サブフォーム」タブにあるフローの方向リストは、「上から下へ」に設定します。レイアウト パレットでサブフォームの余白を指定すると、2
つのサブフォーム間に必要な余白を挿入できます。header
、level1
、level2
、level3
およびclosing
サブフォームにもフローコンテンツが含まれます。 フィールドの余白を指定して、2
つのオブジェクト間に必要な余白を挿入できます。 サブフォームオカレンス 連携して正しくデータを収容するために、フォームには複数のサブフォームが含まれています。サブ フォーム自体は、繰り返されるサブフォームと単発のサブフォームから構成されます。detail header
およびclosing
サブフォームを除くすべてのサブフォームの「各データアイテムについてサブフォー ムを繰り返す」をチェックして最小値を0
に設定すると、必要なサブフォームだけを印刷するように 指定できます。単発の各サブフォームの最大値は1
に設定されています。繰り返されるサブフォーム の場合は、データセットによって最大値が異なるので、繰り返し回数の最大値はありません。closing
サブフォームの場合は、サブフォームのインスタンスを生成するデータが存在しないので、最小値が1
に設定されます。 詳細ヘッダー 詳細ヘッダーには列の見出しが表示され、最初の詳細行の前に印刷されます。詳細行が1
ページに収 まりきらず次のページに続く場合には、この詳細ヘッダーの情報が各ページの最上部に表示されます。detailHeader
サブフォームの「各データアイテムについてサブフォームを繰り返す」をチェックして 最小値を1
に設定すると、ヘッダーが必ず少なくとも1
回は印刷されます。 オーバーフローリーダーdetailHeader
サブフォームは、オーバーフローリーダーとして文書サブフォームに関連付けられてい ます。この機能によって、文書サブフォームが新しいページに流し込まれるたびに、必ず文書サブ フォームのオーバーフローリーダーサブフォームが印刷されます。detailHeader
サブフォームにはグローバルフィールド 通貨の値はデータファイルで
1
回だけ指定します。通貨フィールドのデフォルトの連結をグローバル に設定して、このフィールドを複数箇所で使用すると、各フィールドにこの値が入力されます。 画像フィールド 会社のロゴは変わる可能性があるので、ロゴファイルはデータファイルに埋め込まれます。画像 フィールドオブジェクトを使用して画像を表示します。 各フィールドの最大文字数 各フィールドの最大文字数の値は、データ仕様に応じて設定されます。「最大文字数」オプションは オブジェクトパレットの「フィールド」タブにあります。 拡張可能フィールドとアンカーの位置 様々な長さのデータ値を収容するために、billToAddress
フィールド、Salutation
フィールドおよびClosing
フィールドに対してレイアウトパレットの「拡大して合わせる」オプションが選択されてい ます。これらのフィールドのアンカーの位置は、フィールドを適切な方向に拡張できるように設定さ れています。 変数 全段落の結びは同じです。メンテナンスを簡単にするために、結びの値は変数として定義され、スクリ プトを使用してこの値が参照および表示されます。フィールドの値が計算されるので、「データ連結」 オプションは「データ連結なし」に設定されます。 スクリプティング 住所の値は一まとめにして表示する必要があります。JavaScript
スクリプトを使用してデータ値を連 結します。billToAddress
フィールドの値が計算されるので、「データ連結」オプションは「データ 連結なし」に設定されます。 複数行フィールドbillToAddress
フィールドの場合、オブジェクトパレットの「フィールド」タブにある「複数行」プロ パティが選択されています。これにより、計算した値を複数行に出力できます。 フローティングフィールドlevel3
サブフォームには、テキストとフィールドの両方が含まれています。フローティングフィール ドを使用すると、情報を自然に流し込むことができます。表示パターンをフィールドに対して直接指 定して、段落に表示できます。表示パターンを指定するには、オブジェクトパレットの「フィールド」 タブにある「パターン」オプションを使用します。フローティングフィールドはテキストオブジェク トに挿入された非表示のフィールドです。フローティングフィールドへの参照は、中括弧内のフィー ルド名(例えば、{fieldName}
)で表します。 表示パターン 値によっては、表示パターンを適用すると読みやすくなります。例えば、level3
サブフォームのdeadline
の値には、オブジェクトパレットの「連結」タブでデータパターン値に標準の長さの日付が 適用されています。4.
E
チケットサンプル
E
チケットサンプルを使用して、ダイナミックE
チケット出力について」で説明します。 このフォームでは、航空便予定表、米国の税関申告書、健康状態申告書、フライト乗り換え券、宿泊先情 報および搭乗券を含むオリジナルのトラベルパッケージが印刷されます。パッケージの各セクションに応 じて用紙の向きを変えて印刷するようになっています。 このサンプルには以下のファイルが含まれます。4.1.
E
チケットサンプルを実行するには
1)
¥JA¥Samples¥Forms¥E-Ticket¥Forms
にあるE-Ticket.xdp
ファイルをDesigner
で開きます。2)
プレビューオプションを指定するには、ファイル/フォームのプロパティを選択します。3)
「•
プレビューのタイプリストから「印刷フォーム(両面)」を選択します。•
「データファイル」ボックスでData
フォルダーを参照し、サンプルデータファイルE-Ticket.xml
を選択します。•
「OK
」をクリックします。4)
フォームをプレビューするには、「Outputs
フォルダーにある出力サンプルE-Ticket.xdp Designer フォームファイルは Forms フォルダー内にあります。
E-Ticket.xml XML データファイルは Data フォルダー内にあります。
E-Ticket.tif 画像ファイルは Images フォルダー内にあります。
4.2.
E
チケット出力について
以下の番号は、サンプルフォームファイルの番号付き丸アイコンの数字に対応します。
1)
パッケージの表紙は、用紙の向きを縦にして1
回だけ印刷します。•
cover page
データグループが存在すると、coverPage
サブフォームが呼び出されます。•
coverPage
サブフォームはページセットで定義される最初のページ範囲なので、縦向きのマス ターページに配置されます。•
coverPage
サブフォームの最小値は0
で最大値は1
です。「最小値」および「最大値」オプショ ンはオブジェクトパレットの「連結」タブにあります。•
画像ファイルはフォームにリンクされています。リンクは画像オブジェクトのURL
として設 定されます。•
「本トラベルパッケージの内容」セクションでは、JavaScript
によって、フィールドのキャプ ションテキストが必要に応じて複数になるように設定されています。 注:トラベルパッケージの複数箇所に印刷する必要があるデータ値は、グローバルフィールドとして作成されます。例えば、
lastName
、firstName
およびinitial
フィールドがこれに相当します。2)
航空便予定表ヘッダーの情報は用紙の向きを横にして、フライト予定のリストの前に印刷する必要が あります。•
flightHeader
サブフォームを呼び出すには、サブフォームとサブフォームセットの繰り返し回 数とsubformSet
の関係タイプの組み合わせが必要です。•
itinerary
サブフォームセットのインスタンスが作成されるのは、flight
サブフォームのインス タンスが作成される場合のみです。これを実行するには、サブフォームセットの「各データア イテムについてサブフォームを繰り返す」をチェックして「最小値」を0
に設定します。サブ フォームセットのインスタンスが作成されると、flightHeader
サブフォームが呼び出されます。 これはflightHeader
サブフォームの「最小値」が1
であるためです。ただし、オブジェクトパ レットの「サブフォームセット」タブでサブフォームセットのタイプの値を「すべてのサブ フォームを順番に使用」に設定する必要があります。•
flightHeader
サブフォームは横向きのマスターページに関連付けられます。flightHeader
サブ フォームの配置は「ページ"landscape"
上」です。•
flightHeader
サブフォームは、オーバーフローリーダーとしてflight
サブフォームに関連付け られています。flightHeader
サブフォームは、航空便予定セクションの各ページの上部に印刷 されます。この情報は繰り返す必要があるので、オブジェクトパレットの「連結」タブにある 「データ連結」フィールドで、デフォルトの連結を「グローバルデータによる」に設定します。3)
フライトはトラベルパッケージに固有のもので、旅程によって異なる可能性があります。•
flight
データグループが存在すると、flight
サブフォームが呼び出されます。flight
サブフォー ムの「各データアイテムについてサブフォームを繰り返す」の「最小値」は0
で、最大繰り返 し数は無制限です。つまり、データが存在する場合にのみサブフォームのインスタンスが作成 され、データを印刷するために必要な回数だけ無制限に繰り返されます。「各データアイテムに ついてサブフォームを繰り返す」オプションを選択し、「最大値」オプションの選択を解除す ると、最大値が無制限になります。「各データアイテムについてサブフォームを繰り返す」オプ ションは、オブジェクトパレットの「連結」タブにあります。4)
家族1
人ずつに1
通の税関申告書が必要です。申告書は用紙の向きを縦にして印刷します。•
customs
データグループが存在すると、customs
サブフォームが呼び出されます。•
customs
サブフォームの「各データアイテムについてサブフォームを繰り返す」の「最小値」 は0
で、「最大値」は1
です。•
customs
サブフォームは縦向きのマスターページに関連付けられています。customs
サブフォー ムは縦向きのページの先頭に配置されます。これにより新しいページが作成されます。5)
用紙の向きを縦にして、1
ページに1
通の健康状態申告書を印刷します。•
medical
データグループが存在すると、medical
サブフォームが呼び出されます。•
medical
サブフォームの「各データアイテムについてサブフォームを繰り返す」の「最小値」 は0
で、最大繰り返し数は無制限です。•
medical
サブフォームは縦向きのマスターページに関連付けられ、縦向きのページの先頭に配 置されるので、新しいページが作成されます。•
JavaScript
を使用して搭乗者の自宅住所の情報が連結されます。homeAddress
フィールドに対 して「複数行」オプションを有効にすると、情報が正しくひとまとめに印刷されます。「複数行」 オプションはオブジェクトパレットの「フィールド」タブにあります。6)
宿泊先ヘッダーの情報は用紙の向きを横にして、ホテルのリストの前に印刷する必要があります。•
hotelHeader
サブフォームを呼び出すには、サブフォームとサブフォームセットの繰り返し回 数とサブフォームセットの関係タイプの組み合わせが必要です。•
accommodation
サブフォームセットのインスタンスが作成されるのは、hotel
サブフォームの インスタンスが作成される場合のみです。これを実行するには、サブフォームセットの「各デー タアイテムについてサブフォームを繰り返す」をチェックして最小値を0
に設定します。サブ フォームセットのインスタンスが作成されると、hotelHeader
サブフォームが呼び出されます。 これはhotelHeader
サブフォームの「最小値」が1
であるためです。ただし、サブフォーム セットのタイプを「すべてのサブフォームを順番に使用」に設定する必要があります。•
hotelHeader
サブフォームは横向きのマスターページに関連付けられています。hotelHeader
サブフォームは横向きのページに配置されます。•
hotelHeader
サブフォームは、オーバーフローリーダーとしてhotel
サブフォームに関連付け られています。hotelHeader
サブフォームは、宿泊先ホテルセクションの各ページの上部に印 刷されます。この情報は繰り返す必要があるので、フィールドをグローバルに設定します。•
JavaScript
を使用して、lastName
とfirstName
のデータ値を連結します。•
宿泊客住所の値は一まとめにして表示する必要があります。JavaScript
を使用してデータ値を 連結します。7)
ホテルリストはトラベルパッケージに固有のものであり、旅程によって異なる可能性があります。•
hotel
データグループが存在すると、hotel
サブフォームが呼び出されます。hotel
サブフォー ムの「各データアイテムについてサブフォームを繰り返す」の「最小値」は0
で、最大繰り返 し数は無制限です。データが存在する場合にのみサブフォームのインスタンスが作成され、デー タを印刷するために必要な回数だけ無制限に繰り返されます。•
hotel
サブフォームは前のサブフォームの後に配置されます。•
部屋タイプの値は一まとめにして表示する必要があります。JavaScript
スクリプトを使用して データ値を連結します。roomName
フィールドの値が計算されるので、「データ連結」オプ ションは「データ連結なし」に設定されます。8)
搭乗券は、用紙の向きを横にして1
ページに1
枚印刷します。•
boarding
データグループが存在すると、boarding
サブフォームが呼び出されます。•
boarding
サブフォームの「各データアイテムについてサブフォームを繰り返す」の「最小値」 は0
で、最大繰り返し数は無制限です。つまり、データが存在する場合にのみサブフォームの インスタンスが作成され、データを印刷するために必要な回数だけ無制限に繰り返されます。•
boarding
サブフォームは横向きのマスターページに関連付けられています。boarding
サブフォー ムは横向きのページの先頭に配置され、これにより新しいページが作成されます。5.
援助金申請書サンプル
援助金申請書サンプルを使用して、インタラクティブGrant Application.pdf
というファイルが含まれます。ユーザーが情報のやり取りをする フォームデザインとフォームはForms
フォルダー内にあります。5.1.
援助金申請書サンプルを実行するには
1)
¥JA¥Samples¥Forms¥Grant Application¥Forms
にあるGrant Application.pdf
というフォームをAcrobat
またはAdobe Reader
で開きます。2)
プロジェクトのタイトルのフィールドをクリックして、フォームの入力を開始します。5.2.
援助金申請書フォームについて
このフォームの特長は以下のとおりです。 ページ番号 ページ番号は、テキストオブジェクトに実行時プロパティを挿入することによって取得した計算値です。 各フィールドの最大文字数 オブジェクトパレットの「フィールド」タブにある「最大文字数」オプションは、各フィールドの データ仕様によって異なります。 複数行フィールドDescription
フィールドの場合、オブジェクトパレットの「フィールド」タブにある「複数行」オプ ションが選択されています。これにより、ユーザーが複数行に入力できます。 表示パターン 一部の値は特定の形式で入力する必要があります。オブジェクトパレットの「値」タブで確認メッ セージを設定できます。ユーザーが正しい形式で値を入力しなかった場合に、このメッセージが表示 され、正しい形式で入力し直すよう要求されます。例えば、BudgetDirectCosts
フィールドにユー ザーが入力した値をスクリプトを使用して検証します。 カスタムライブラリオブジェクトU.S. States
カスタムライブラリオブジェクトを使用して、State
およびOrgState
コンボボックスを作 成します。6.
発注書サンプル
4
つの発注書サンプルを使用して、ダイナミックおよびインタラクティブなPurchaseOrder.xdp Designer フォームファイルは Forms フォルダー内にあります。
Purchase Order.xml XML データファイルは Data フォルダー内にあります。
Purchase Order.tif 画像ファイルは Images フォルダー内にあります。
Purchase Order.pdf データを結合してレンダリングしたフォームは Outputs フォルダー内にあります。
ファイル 説明
Purchase Order.pdf Designer フォームファイルは Forms フォルダー内にあります。
Purchase Order.tif 画像ファイルは Images フォルダー内にあります。
ファイル 説明
Purchase Order Dynamic Interactive.pdf Purchase Order Dynamic.xdp
Purchase Order Interactive.pdf
Designer フォームファイルは Forms フォルダー内にあります。
Purchase Order Canada.xml Purchase Order US.xml
XML データファイルは Data フォルダー内にあります。
Purchase Order.tif 画像ファイルは Images フォルダー内にあります。
CountryScript.xdp DeliverToAddress.xdp Footer.xdp FooterCanada.xdp FooterUS.xdp Header.xdp OrderedByAddress.xdp PartNoScript.xdp Fragments フォルダー内のフラグメント。
Purchase Order Canada.pdf Purchase Order US.pdf
インタラクティブ発注書サンプルには以下のファイルが含まれます。
スキーマ発注書サンプルには以下のファイルが含まれます。
6.1.
E
チケットサンプルを実行するには
1)
¥JA¥Samples¥Forms¥E-Ticket¥Forms
にあるE-Ticket.xdp
ファイルをDesigner
で開きます。2)
プレビューオプションを指定するには、ファイル/フォームのプロパティを選択します。3)
「•
プレビューのタイプリストから「印刷フォーム(両面)」を選択します。•
「データファイル」ボックスでData
フォルダーを参照し、サンプルデータファイルE-Ticket.xml
を選択します。•
「OK
」をクリックします。4)
フォームをプレビューするには、「Outputs
フォルダーにある出力サンプルPurchase Order.pdf ユーザーが情報のやり取りをするフォームデザインとフォームは Forms フォル ダー内にあります。
Purchase Order.tif 画像ファイルは Images フォルダー内にあります。
ファイル 説明
Purchase Order.xdp Designer フォームファイルは Forms フォルダー内にあります。
Purchase Order.xml XML データファイルは Data フォルダー内にあります。
Purchase Order.xsd スキーマファイルは Schema フォルダー内にあります。
Purchase Order.tif 画像ファイルは Images フォルダー内にあります。
6.2.
ダイナミックおよびスキーマ発注書を実行するには
1)
以下のうち適切なフォームをDesigner
で開きます。•
¥JA¥Samples¥Forms¥Purchase Order¥Dynamic¥Forms
にあるPurchase Order.xdp
ファイル•
¥JA¥Samples¥Forms¥Purchase Order¥Schema¥Forms
にあるPurchase Order.xdp
ファイル2)
プレビューオプションを指定するには、ファイル/フォームのプロパティを選択します。3)
「•
プレビューのタイプリストから「印刷フォーム(両面)」を選択します。•
「データファイル」ボックスでData
フォルダーを参照し、サンプルデータファイルPurchase
Order.xml
を選択します。•
「OK
」をクリックします。4)
フォームをプレビューするには、「Outputs
フォルダーにある出力サンプル6.3.
インタラクティブおよびダイナミックインタラクティブ発注書を
実行するには
1)
以下のうち適切なフォームをAcrobat
またはAdobe Reader
で開きます。•
¥JA¥Samples¥Forms¥Purchase Order¥Interactive¥Forms
にあるPurchase Order.xdp
ファイル•
¥JA¥Samples¥Forms¥Purchase Order¥Dynamic Interactive¥Forms
にあるPurchase Order.xdp
ファイル2)
発注番号フィールドをクリックして、フォームの入力を開始します。Outputs
フォルダーにある出力サンプル7.
スクリプティングサンプル
スクリプティングサンプルを使用すると、FormCalc
およびJavaScript
言語によるスクリプト記述を体験 できます。スクリプトをボックスに入力し、ボタンをクリックすると、そのスクリプトを実行できます。 サンプルには、スクリプトに使用できる様々なフィールドタイプが含まれています。 このサンプルにはScripting.pdf
というファイルが含まれます。ユーザーが情報のやり取りをするフォーム デザインとフォームはForms
フォルダー内にあります。7.1.
スクリプティングサンプルを実行するには
1)
¥JA¥Samples¥Forms¥Scripting¥Forms
にあるScripting.pdf
というフォームを、Acrobat
またはAdobe
Reader
で開きます。2)
「ここにスクリプトを入力してください」フィールドにスクリプトを入力します。3)
スクリプトに必要な項目を入力します。4)
適切なボタンをクリックして、スクリプトを実行します。出力は「結果」フィールドに表示されます。 必要に応じて、これらの結果を別のフィールドに割り当てることができます。5)
スクリプトを実行したら、「フィールドをクリア」をクリックして、スクリプトを再実行するか変更します。 簡単なスクリプトを試すには、以下のいずれかのサンプルを使用します。7.2.
JavaScript
if (NF1.rawValue < NF2.rawValue) NF3.rawValue = 0 elseNF3.rawValue = NF1.rawValue - NF2.rawValue
7.3.
FormCalc
if (NF1 < NF2) then NF3 = 0 else NF3 = NF1 - NF2 endif 両方のスクリプトで数値フィールド「NF1」、「NF2」および「NF3」を使用します。ユーザーは「NF1」8.
サブフォームセットのサンプル
サブフォームセットのサンプルを使用して、ダイナミック4
つのサブサンプルを使用して実際に試すことができます。サンプルフォームには、黒丸に 白抜きの数字で表した番号が含まれています。これらの番号については、「サブフォームセットの出力につ いて」で説明します。 サンプルには以下のファイルが含まれます。8.1.
サブフォームセットのサンプルを実行するには
1)
¥JA¥Samples¥Forms¥SubformSet
にあるForms
フォルダー内のいずれかのフォームを、Designer
で開きます。2)
プレビューオプションを指定するには、ファイル/フォームのプロパティを選択します。3)
「•
プレビューのタイプリストから「印刷フォーム(両面)」を選択します。•
「データファイル」ボックスでData
フォルダーを参照し、いずれかのサンプルデータファイル (例えば、DataA.xml
)を選択します。•
「OK
」をクリックします。4)
フォームをプレビューするには、「Outputs
フォルダーにある出力サンプル2
セットのデータをそれぞれに結合してレンダリン ファイル 説明 SubformSet1.xdp SubformSet2.xdp SubformSet3.xdp SubformSet4.xdp Forms フォルダー内の Designer フォームファイル DataA.xml DataB.xml Data フォルダー内の XML データファイル SubformSet1 DataA.pdf SubformSet1 DataB.pdf SubformSet2 DataA.pdf SubformSet2 DataB.pdf SubformSet3 DataA.pdf SubformSet3 DataB.pdf SubformSet4 DataA.pdf SubformSet4 DataB.pdf Outputs フォルダー内にある、データを結合してレンダリングしたフォーム8.2.
サブフォームセットの出力について
以下の番号付きコメントは、サブフォームセットのサンプルフォームにある番号付き黒丸アイコンの数字 に対応します。1.
データ このサンプルには2
つのサンプルデータファイルがあります。この節には、フォームに結合された データファイルの名前とデータファイルの内容が記載されています。この情報は、第3
節「サブフォー ムの関係」に示されるデータを比較する際に役立ちます。2.
サブフォームオカレンス 各フォームには3
つのサブフォームが含まれています。この節では、サブフォームの繰り返し回数の 最小値と最大値を示します。繰り返し回数はオブジェクトパレットの「連結」タブで指定します。8.2.1.
1
つのフォームに対するサブフォームの仕様
*
オブジェクトパレットの「連結」タブで「各データアイテムについてサブフォームを繰り返す」オプショ ンが選択されている場合、最大値が無制限になります。3.
サブフォームの関係 第3
節には3
つの列があり、様々な関係タイプのサブフォームのレイアウトを比較するために使用し ます。フォーム subformA subformB subformC
SubformSet1.xdp 最小値 = 0 最大値 = -1* 最小値 = 0 最大値 = -1* 最小値 = 0 最大値 = -1* SubformSet2.xdp 最小値 = 0 最大値 = 1 最小値 = 0 最大値 = 1 最小値 = 0 最大値 = 1 SubformSet3.xdp 最小値 = 1 最大値 = 1 最小値 = 1 最大値 = 1 最小値 = 1 最大値 = 1 SubformSet4.xdp 最小値 = 2 最大値 = 2 最小値 = 1 最大値 = 1 最小値 = 3 最大値 = 3 列 タイプ コメント 1 すべてのサブフォームを順番に使用 フォームで宣言した順番でサブフォームのインスタンスが作成さ れます。フォームの順番に従うために、内容の順番が変わる可能 性があります。 2 候補からサブフォームを 1 つ選択する サブフォームは互いに排他的で、1 つのサブフォームでのみインス タンスを作成することができます。どのサブフォームのインスタ ンスが作成されるかは、データに基づき決定されます。
9.
納税証明書サンプル
納税証明書サンプルを使用して、ダイナミック3
部の納税証明書が1
ページ に印刷されます。 サンプルには以下のファイルが含まれます。9.1.
納税証明書サンプルを実行するには
1)
Designer
でTax Receipt.xdp
フォームを開きます。2)
プレビューオプションを指定するには、ファイル/フォームのプロパティを選択します。3)
「4)
プレビューのタイプリストから「印刷フォーム(両面)」を選択します。•
「データファイル」ボックスでData
フォルダーを参照し、Tax Receipt.xml
サンプルデータファ イルを選択します。•
「OK
」をクリックします。5)
フォームをプレビューするには、「Outputs
フォルダーにある出力サンプル9.2.
納税証明書フォームについて
このフォームの特長は以下のとおりです。 フォームの階層構造 納税証明書フォームは、間接的なデータ連結処理の利点を活かすことができるデータ構造に基づいて ファイル 説明Tax Receipt.xdp Forms フォルダー内の Designer フォームファイル
Tax Receipt.xml Data フォルダー内の XML データファイル
Signature.tif Tax Receipt.tif
Images フォルダー内の画像ファイル
マスターページ フッターテキストは各ページの下部に表示する必要があるので、マスターページで定義します。 フローコンテンツ