43
b c Adobe ® Acrobat ® Adobe LiveCycle™ Designer Version 7.0 Converting Acrobat ® JavaScript for Use in LiveCycle™ Designer Forms

Converting Acrobat LiveCycleâ„¢ Designer Forms

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Converting Acrobat LiveCycleâ„¢ Designer Forms

bbc

Adobe® Acrobat®Adobe LiveCycle™ Designer

Version 7.0

Converting Acrobat® JavaScript for Use in LiveCycle™ Designer Forms

Page 2: Converting Acrobat LiveCycleâ„¢ Designer Forms

© 2005 Adobe Systems Incorporated. All rights reserved.

Adobe® Acrobat® Adobe LiveCycle™ 7.0 Designer Converting Acrobat JavaScript for Use in LiveCycle Designer Forms for Microsoft® Windows®, UNIX®, and Linux®

Edition 1.0, June 2005

本マニュアルがエンドユーザ使用許諾契約を含むソフトウェアと共に提供される場合、本マニュアルおよびその中に記載されているソフトウェアは、エンドユーザ使用許諾契約にもとづいて提供されるものであり、当該エンドユーザ使用許諾契約の契約条件に従ってのみ使用または複製することが可能となるものです。 当該エンドユーザ使用許諾契約により許可されている場合を除き、本マニュアルのいかなる部分といえども、Adobe Systems Incorporated(アドビ システムズ社)の書面による事前の許可なしに、電子的、機械的、録音、その他いかなる形式・手段であれ、複製、検索システムへの保存、または伝送を行うことはできません。本マニュアルの内容は、エンドユーザ使用許諾契約を含むソフトウェアと共に提供されていない場合であっても、著作権法により保護されていることにご留意ください。

本マニュアルに記載される内容は、あくまでも参照用としてのみ使用されること、また、なんら予告なしに変更されることを条件として、提供されるものであり、従って、当該情報が、アドビ システムズ社の責務として解釈されることがあってはなりません。アドビ システムズ社は、本マニュアルにおけるいかなる誤謬または不正確な記述に対しても、なんら責任または補償を負うものではありません。

新しいアートワークを創作するためにテンプレートとして取り込もうとする既存のアートワークまたは画像は、著作権法により保護され得るものであることをご留意ください。 当該アートワークまたは画像を新しいアートワークに許可なく取り込んだ場合、著作者の権利を侵害することになります。従って、著作権者から必要なすべての許可を必ず取りつけてください。

サンプル素材または本ソフトウェアに付属するサンプルフォームで使用されている会社名や会社ロゴは、実在の会社・組織を示すものではありません。

Adobe、Adobe のロゴ、LiveCycle、および Reader は、アドビ システムズ社の米国ならびに他の国における商標または登録商標です。

IBM is a trademark of International Business Machines Corporation in the United States and/or other countries.

Linux is a registered trademark of Linus Torvalds.

Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

UNIX is a registered trademark of The Open Group.

All other trademarks are the property of their respective owners.

Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA.

Notice to U.S. Government End Users.The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. § 2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. § 227.7202, as applicable. Consistent with 48 C.F.R. § 12.212 or 48 C.F.R. §§ 227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users(a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein.Unpublished-rights reserved under the copyright laws of the United States.Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA.For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference.

Page 3: Converting Acrobat LiveCycleâ„¢ Designer Forms

3

目次

はじめに .......................................................................................................................................... 4目的...............................................................................................................................................................................................................4対象読者......................................................................................................................................................................................................4本マニュアルの構成...............................................................................................................................................................................4

1 JavaScript を含む Acrobat フォームの変換................................................................................... 7LiveCycle Designer .......................................................................................................................................... 7Acrobat と LiveCycle Designer のスクリプトオブジェクトモデル....................................................................................7スクリプトに影響を与えるオブジェクトモデルの相違点 ...................................................................................................10方針と方法...............................................................................................................................................................................................10Acrobat フォームの変換.....................................................................................................................................................................11

2 LiveCycle Designer フォームでの Acrobat JavaScript の使用 .................................................. 14LiveCycle Designer フォームでの Acrobat JavaScript の使用...........................................................................................14

A Acrobat JavaScript 変換表 ........................................................................................................... 19

B LiveCycle Designer フォームの概要 ............................................................................................ 34データベースとのインタフェイス.................................................................................................................................................40

C LiveCycle Designer UI フォームロジックの例............................................................................. 43

Page 4: Converting Acrobat LiveCycleâ„¢ Designer Forms

4

はじめに

目的 このマニュアルでは、Adobe® Acrobat® Professional フォームおよび Acrobat Standard フォームに含まれている JavaScript を変換して、Adobe LiveCycle™ Designer フォームで使用できるようにする方法を説明します。

Acrobat フォームのほとんどのモデルは、LiveCycle Designer フォームでもサポートされていますが、Acrobat フォームと LiveCycle Designer フォームではスクリプトオブジェクトモデルに違いがあります。 このマニュアルでは、モデルの違いと変換方法について説明し、簡単かつ効果的に変換が行えるよう支援します。

Acrobat フォームから LiveCycle Designer フォームに変換する一般的な手順については、LiveCycle Designer ヘルプの「他のアプリケーションからのフォームの読み込み」というトピックを参照してください。

対象読者 このマニュアルは、JavaScript が含まれている Acrobat フォームを LiveCycle Designer フォームに変換する必要があるフォーム開発者を対象としています。

このマニュアルは、新規の XML フォームを作成しているフォーム開発者が、LiveCycle Designer を使用して Acrobat JavaScript を追加する際にも役立ちます。

本マニュアルの構成 「はじめに」の章に続き、このマニュアルには次の章が含まれています。

● 第 1 章: 「JavaScript を含む Acrobat フォームの変換」 — 変換時の問題とスクリプトオブジェクトモデルの違いについて説明します。 また、スクリプトの変換の進め方や、パフォーマンス問題の対処法についても説明します。

● 第 2 章: 「LiveCycle Designer フォームでの Acrobat JavaScript の使用」 — LiveCycle Designer フォームでの Acrobat JavaScript の使用方法について説明します。また、LiveCycle Designer の機能を補完するための Acrobat JavaScript の使用法を説明します。

● 付録 A: 「Acrobat JavaScript 変換表」 — よく使用される Acrobat JavaScript オブジェクトと、それに対応する LiveCycle Designer フォームの機能を示します。 Acrobat JavaScript のそれぞれの式について、LiveCycle Designer フォームで使用できるかどうか、変換が可能かどうかを示しています。

● 付録 B: 「LiveCycle Designer フォームの概要」 — LiveCycle Designer フォームのイベントやスクリプトレベルについて重要な点を解説します。また、データベースの接続についても説明します。

● 付録 C: 「LiveCycle Designer UI フォームロジックの例」 — スクリプトを使用せずに LiveCycle Designer の UI で追加できるロジックの例を示します。 ここでは、すべてのオブジェクトタイプを網羅しているわけではありません。テキストフィールドオブジェクトの例のみを記載しています。

Page 5: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer はじめにConverting Acrobat JavaScript for Use in LiveCycle Designer Forms 用語 5

用語

このマニュアルでは、次の用語を使用します。

Acrobat フォーム Acrobat で作成されたフォーム。LiveCycle Designer で作成されたフォームとは異なります。 Acrobat フォームでは Acrobat フォームのオブジェクトモデルが使用されており、PDF ファイルとして保存されます。このフォームでは、FDF、XFDF または XML 形式でデータを書き出したり読み込んだりできます。

FDF Form Data Format(フォームデータ形式)。 Acrobat フォームで、データを交換形式として使用されるファイル形式です。

FormCalc LiveCycle フォームの計算言語。XML フォームのオブジェクトモデルに基づいています。 JavaScript よりも習得しやすく簡単に使用できます。 PDF フォームの FormCalc は、サーバサイドとクライアントサイドの両方で実行できます。 この言語はインターネットブラウザではサポートされていないので、HTML フォームとして発行する LiveCycle Designer フォームは、サーバサイドでのみ使用できます。

フォーム環境 フォームが実行されているアプリケーション(ブラウザ内の HTML の場合、環境はブラウザになります)。

一般に、Acrobat JavaScript(LiveCycle Designer フォームで使用される)では、フォーム環境を操作できます。LiveCycle Designer JavaScript では、フォームの内容と外観を操作できます。

LiveCycle Designer フォーム

LiveCycle Designer を使用して作成された XML フォーム。 LiveCycle Designer フォームでは XML フォームのオブジェクトモデルが使用されており、PDF ファイルまたは XDP ファイルとして保存できます。

LiveCycle Forms ダイナミック電子フォームを Web を介して配置する LiveCycle サーバ製品 (以前は LiveCycle Forms Server と呼ばれていました)。

LiveCycle Designer JavaScript

LiveCycle Designer でサポートされているスクリプト言語。ネイティブ XML フォームのオブジェクトモデルをサポートしています。

LiveCycle Designer ユーザインタフェイス(UI)フォームロジック

LiveCycle Designer UI を使用して追加できるフォーム機能とビジネスロジック。 追加されたフォーム機能とビジネスロジックは、フォーム定義の構成要素として XML コードで表現されます。

PDF Portable document format。 LiveCycle Designer フォームを Adobe Reader® で表示できるようにパッケージ化するためのファイル形式です。

スクリプトオブジェクト LiveCycle Designer スクリプトオブジェクトは、JavaScript 関数を格納するのに使用されるオブジェクトで、フォームの複数の場所から呼び出すことができます。 Acrobat JavaScript の文書レベルの JavaScript に相当します。

SOM Scripting object model(スクリプトオブジェクトモデル)。 LiveCycle Designer フォームは、LiveCycle Designer SOM と、Acrobat SOM の一部をサポートしています。

XDP XML data package(XML データパッケージ)。 LiveCycle Designer で作成できるファイル形式のオプション。フォームのデザイン、データ、注釈またはその他の関連データを Adobe LiveCycle Forms に送信し、実行時にフォームをレンダリングする場合に使用します。 フォームでサーバサイドの処理を実行する場合は、この形式を使用する必要があります。

Page 6: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer はじめにConverting Acrobat JavaScript for Use in LiveCycle Designer Forms その他の便利なマニュアル 6

その他の便利なマニュアル このマニュアルでは、次に示すマニュアルを参考文献として使用しています。

これらのマニュアルは Adobe Solutions Network の Web サイトから入手できます。

Acrobat JavaScript 『Acrobat JavaScript Scripting Guide』

『Acrobat JavaScript Reference』

LiveCycle Designer Forms/ JavaScript 『Adobe XML Form Object Model 2.2 Reference』

LiveCycle Designer の開発者向け Web ページ http://partners.adobe.com/public/developer/livecycle/topic_designer.html

LiveCycle Designer および Adobe LiveCycle Form Server 各製品のヘルプを参照してください。

このマニュアルの表記規則

XML スクリプトオブジェクトモデル

LiveCycle サーバ製品および LiveCycle Designer でサポートされている XML フォーム用のスクリプトオブジェクトモデル。 LiveCycle Designer JavaScript および FormCalc スクリプトの両方で、XML スクリプトオブジェクトモデルの操作が可能です。

フォント 対象 例

固定幅 パスおよびファイル名 C:¥templates¥mytmpl.fm

本文と区別するコード例 以下は変数の宣言です。 AVMenu commandMenu,helpMenu;

青 Web ページへのライブリンク アドビの Web サイトの URL は、次のとおりです。 http://www.adobe.com

このマニュアル内の節へのライブリンク

7ページの「JavaScript を含む Acrobat フォームの変換」を参照してください。

斜体 LiveCycle Designer ヘルプのトピック

「FormCalc ユーザリファレンス」

ライブリンクでないマニュアルタイトル

『Acrobat and PDF Library API Overview 』

新規用語 ユーザ空間は、座標を指定します。

Page 7: Converting Acrobat LiveCycleâ„¢ Designer Forms

7

1 JavaScript を含む Acrobat フォームの変換

この章では、Acrobat フォームを LiveCycle Designer フォームに変換する手順と、Acrobat フォームと LiveCycle Designer フォームのオブジェクトモデルの違いについて説明します。 また、同等のフォームロジックを LiveCycle Designer フォームに実装するためのさまざまな方法について説明します。

LiveCycle Designer LiveCycle Designer では、LiveCycle Designer UI でフォームロジックを追加したり、JavaScript や FormCalc スクリプトをフォームに追加したりすることで、高度な機能を持つフォームが構築できます。 フォームロジックを使用すれば、フォームの有用性を高め、ワークフローを効率化できます。例えば、データの入力時にデータ検証を行ったり、オフラインで作業できるようにすることが可能です。

LiveCycle Designer を使用すれば、レイアウト、デザイン、フォームなどのすべての機能を 1 つのアプリケーションで管理できます。 更新のたびに別のレイアウトアプリケーションで作業して、フォームオブジェクトを再作成する必要はありません。

LiveCycle Designer で作成したフォームは、XML フォームデータが含まれている PDF ファイルとして保存できます。 また、LiveCycle Forms で使用できる XDP(XML data package)ファイルとして保存したり、PDF フォームや HTML フォームとして保存することも可能です。

LiveCycle Designer では、Acrobat フォームを取り込んで LiveCycle Designer フォームに変換することもできます。 このマニュアルでは、変換手順の計画と実行方法について説明し、期待どおりの結果が得られるように支援します。

Acrobat と LiveCycle Designer のスクリプトオブジェクトモデル LiveCycle Designer フォームでは、Acrobat と LiveCycle Designer の両方のスクリプトオブジェクトモデル(SOM)がサポートされています。 ほとんどの Acrobat JavaScript は LiveCycle Designer フォームで動作しますが、いくつか動作しない式があることと、変換の際に利用する方法について理解しておくことが重要になります(14ページの「Acrobat フォームと LiveCycle Designer フォームのオブジェクトモデルの理解」を参照してください)。

2 つのスクリプト言語について簡単に説明します。

● Acrobat JavaScript:LiveCycle Designer フォームで使用することができ、フォーム環境に関するさまざまなタスクを実行できます。例えば、添付ファイル、しおり、注釈などを追加したり、フォームの検索やスペルチェックを行うことができます。また、レポートの作成や、メタデータのアクセスおよび操作も行えます。 Acrobat JavaScript では、Acrobat フォームのオブジェクトモデルが使用されています。したがって、LiveCycle Designer フォームのフィールド値を設定したり、新規フィールドの追加やページの削除などを行うことはできません。

注: LiveCycle Designer フォームに Acrobat JavaScript を追加するには、LiveCycle Designer を使用する必要があります。Acrobat は使用できません。 Acrobat で XML フォームを表示すると、JavaScript ツールはすべて灰色で表示されます。

● LiveCycle Designer JavaScript:フォームの構造やデータを操作するために使用します。 LiveCycle Designer JavaScript では、LiveCycle のネイティブ XML フォームのオブジェクトモデルが使用されています。

2 つのスクリプトモデルは異なるものであり、重複する部分はそれほど多くありません。この 2 つのオブジェクトモデルは互いに機能を補完し合っており、目的に応じて使い分けます。

Page 8: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer JavaScript を含む Acrobat フォームの変換Converting Acrobat JavaScript for Use in LiveCycle Designer Forms JavaScript 変換カテゴリー 8

JavaScript 変換カテゴリー

変換の最初の手順として、フォームで使用されている Acrobat JavaScript のうち、LiveCycle Designer フォームで使用できるものがどれだけあり、LiveCycle Designer の機能に変換する必要のあるものがどれだけあるかを把握します。

Acrobat JavaScript は、LiveCycle Designer フォームで動作するかしないかという観点から、次の表に示す 3 つのカテゴリーに分類できます。

ここでの目標は、すべての Acrobat JavaScript を 8ページの「JavaScript 変換の方法」で示されているいずれかの LiveCycle Designer フォームロジックに変換することです。つまり、Acrobat JavaScript でなければ処理できないタスクのみ、Acrobat JavaScript を利用します。

LiveCycle Designer JavaScript に変換する理由は、主に 2 つあります。

● フォームの正式な外観およびデータを制御するのは、フォーム内の XML データです。 Acrobat スクリプトモデルに基づくスクリプトを作成すると、PDF 表現と XML 表現が互いに一致しなくなる危険性があります。

● XML フォームのオブジェクトモデルが拡張されて機能が追加された場合に、Acrobat JavaScript の関数が新しい関数に置き換えられる可能性があります。 LiveCycle Designer のロジックに変換しておけば、フォームのコードが非推奨になることを避けることができます。

保持する必要のある Acrobat JavaScript は、添付ファイルやマルチメディアの追加、検索の実行、レポートの作成、文書のメタデータ処理などの、フォーム環境に関する操作や周辺操作を実行するものです。

JavaScript 式のカテゴリーを確認して、コード変換が必要かどうかを判断する際には、19ページの付録 A「Acrobat JavaScript 変換表」が役に立ちます。

JavaScript 変換の方法 Acrobat JavaScript のロジックを LiveCycle Designer フォームで実装するには、次の 5 つの方法があります。

Acrobat JavaScript アクション

1. LiveCycle Designer フォームで動作する。LiveCycle Designer JavaScript には対応する機能がない。

Acrobat JavaScript を有効にする必要があります(18ページの「LiveCycle Designer での Acrobat JavaScript のテスト」を参照してください)。doc オブジェクトコードを 14ページの「LiveCycle Designer フォームでの Acrobat JavaScript の使用」の説明に従って変換し、十分にテストする必要があります。

2. LiveCycle Designer フォームで動作するが、LiveCycle Designer JavaScript への変換も可能。

Acrobat JavaScript を LiveCycle Designer JavaScript に変換できる場合は、変換することを推奨します(理由は後述)。

変換せずに保持する Acrobat JavaScript コードについては、14ページの「LiveCycle Designer フォームでの Acrobat JavaScript の使用」を参照してください。

変換の必要がある Acrobat JavaScript については、8ページの「JavaScript 変換の方法」を参照して、変換方法を決定する必要があります。

3. LiveCycle Designer フォームで動作せず、変換の必要がある。

8ページの「JavaScript 変換の方法」を参照して、使用する LiveCycle Designer UI フォームロジックを決定する必要があります。

Page 9: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer JavaScript を含む Acrobat フォームの変換Converting Acrobat JavaScript for Use in LiveCycle Designer Forms JavaScript 変換の方法 9

注: このマニュアルでは、JavaScript の 2 つの方法についてのみ説明します。その他の方法については、LiveCycle Designer ヘルプを参照してください。

この図に示されている変換方法について説明します。

● Acrobat JavaScript — フォームの外観や内容を変更しない Acrobat JavaScript の多くは、LiveCycle Designer フォームでも動作します。 Acrobat JavaScript は、LiveCycle Designer JavaScript では実行できないさまざまなタスクを処理できるので、LiveCycle Designer JavaScript を補完する目的で使用できます。

注: 動作しない式の概要は、17ページの「LiveCycle Designer フォームでサポートされていない Acrobat JavaScript」を参照してください。

● LiveCycle Designer JavaScript — LiveCycle Designer フォームのネイティブのスクリプトオブジェクトモデルが使用されます。 構造や内容に関するすべてのタスクを処理できます。 LiveCycle Designer JavaScript への変換方法を習得するのはやや難しいかもしれませんが、一旦習得すれば、今後のあらゆるフォーム開発でその知識が役に立ちます。

● LiveCycle Designer UI フォームロジック — LiveCycle Designer UI を使用して、さまざまなフォーム機能およびフォームロジックを実装できます。 作成したロジックはフォーム定義の構成要素として XML で表現されるので、スクリプトを作成する必要はありません。 この方法の利点は、プログラミングの専門家でなくとも比較的簡単に実装できることです。 ただし、タスクのカスタマイズが必要になった場合には、スクリプトの作成が必要になります。 43ページの付録 C「LiveCycle Designer UI フォームロジックの例」では、LiveCycle Designer UI を使用してテキストフィールドオブジェクトに追加できるロジックの例を紹介しています(テキストフィールドオブジェクトは例として取り上げたものです)。

● FormCalc スクリプト — FormCalc は、一般的なスクリプト技術の知識がなくても効率良く迅速にフォームが開発できる、シンプルな計算言語です。 日時、数学、財務ロジック、文字列処理、Web 操作のための一連の組み込み関数が用意されています。

FormCalc は大量の計算が必要になる場合に特に有用です。JavaScript よりも効率良く計算が行えます。 この言語は、LiveCycle Designer JavaScript および Acrobat JavaScript の両方で使用できます。 クライアントサイドには FormCalc エンジンが存在しないため、クライアントサイドでの HTML 計算には使用できません。

別の方法として、一部の機能をサーバサイドプロセスで処理することもできますが、元のフォームの Acrobat JavaScript では通常処理できないため、このマニュアルで扱う範囲を超えています。

Acrobat JavaScript

Designer UIform logic

AcrobatFormsJavaScript

LiveCycle DesignerJavaScript

FormCalc

Page 10: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer JavaScript を含む Acrobat フォームの変換Converting Acrobat JavaScript for Use in LiveCycle Designer Forms スクリプトに影響を与えるオブジェクトモデルの相違点 10

スクリプトに影響を与えるオブジェクトモデルの相違点

フォームの移行時に注意すべき点として、Acrobat と LiveCycle Designer でフォームオブジェクトのアーキテクチャに基本的な相違があることを説明しましたが、次の表に示す点についても、特に注意が必要です。これらは、スクリプトに直接影響を与える可能性があります。

これらの操作のほとんどの部分はスクリプトを作成しなくても処理できます。このロジックは、LiveCycle Designer UI を使用して設定できます。 43ページの付録 C「LiveCycle Designer UI フォームロジックの例」では、LiveCycle Designer UI を使用してテキストフィールドオブジェクトに追加できるロジックの種類の例を紹介しています。

方針と方法 Acrobat JavaScript でしか実行できないタスクなどの場合には、スクリプトの変換作業は容易になりますが、JavaScript の中には、同等のロジックを LiveCycle Designer フォームに実装するための最善の方法を選択しなければならないものもあります。

できる限り多くの Acrobat JavaScript を変換し、Acrobat JavaScript でなければ処理できない機能にのみ Acrobat JavaScript を使用するのが理想的です。

項目 Acrobat フォーム LiveCycle Designer フォーム

イベント イベントを使用して、フォームレベル、ページレベルまたはフィールドレベルでアクションをトリガできます。

イベントに関する LiveCycle Designer のモデルは Acrobat のモデルと似ていますが、Acrobat よりも多くのレベルがあり、より詳細な制御が可能です。 フォームイベントを使用して、フォームレベル、サブフォームレベル、ページレベルおよびフィールドレベルでアクションをトリガできます。

LiveCycle Designer サブフォーム

Acrobat フォームでは使用できません。 Acrobat フィールドはスタティックフィールドです。

LiveCycle Designer サブフォームでは、処理するデータの量に基づいて(例えば、データ結合プロセスの結果や入力の結果に基づいて)、フォームを拡張したり縮小したりすることが可能です。

フォームの送信 Acrobat フォームでは、フォームの送信には JavaScript を使用します。

LiveCycle Designer UI では、スクリプトを使用することなく、さまざまな方法で LiveCycle Designer フォームからフォームを送信でき、より詳細な制御が可能です。

データ接続 Acrobat フォームでは、ほとんどのデータ接続が JavaScript で処理されます。

LiveCycle Designer では、Web Services Definition Language(WSDL)接続を設定して、フォームフィールドに Web サービスをバインドできます。

フィールドの命名規則

Acrobat では、同じ名前のフィールドは同一のフィールドと見なされ、常に同じ値になります。

LiveCycle Designer では、XML ツリー構造内でのフィールド名の重複が許可されているので、同じ名前のフィールドがすべて同じ値になるとは限りません。 変換時には、スクリプトが意図したとおりに動作するよう、フィールド名の確認が必要です。

セキュリティ Acrobat では、署名に関するセキュリティは JavaScript で処理します。PDF ファイルのセキュリティ設定には Acrobat UI を使用します。

LiveCycle Designer を使用して署名フィールドやその他のセキュリティ機能を追加することも可能ですが、セキュリティは Acrobat でセキュリティオプションを設定したり、Acrobat JavaScript を使用したりして処理するのが一般的です。

Page 11: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer JavaScript を含む Acrobat フォームの変換Converting Acrobat JavaScript for Use in LiveCycle Designer Forms Acrobat フォームの変換 11

方法を選択する際には、利用可能なリソース(プログラミングのスキル)や、デザインの目標、スケジュールの制約などの要因も影響してくる場合があります。 例えば、優先度が非常に高く、スキルのあるリソースを確保できる場合には、LiveCycle Designer を最大限に活用するようにフォームを再構築し、Acrobat で作成したフォームよりも良いフォームに仕上げることが可能になります。

各種のフォームロジックの実装に必要なスキルについて検討することが重要になる場合もあります。 次の表に、各種のロジックの実装に必要となるスキルを、レベルの高いものから順に示します。

Acrobat フォームの変換 LiveCycle Designer を使用して PDF のフォームファイルを読み込むことで、Acrobat フォームを LiveCycle Designer フォームに変換できます。 この手順について詳しくは、LiveCycle Designer ヘルプのトピック「他のアプリケーションからのフォームの読み込み」/「PDF ファイルの読み込み」を参照してください。

LiveCycle Designer にフォームを読み込むと、未変換の Acrobat JavaScript が埋め込まれた XML ファイルが生成されます。コードは実行されないようになっています(すべての Acrobat JavaScript の先頭で、無効な関数呼び出し comment() を意図的に行っています)。 Acrobat JavaScript を(LiveCycle Designer フォームに適応させてから)そのまま使用するか、8ページの「JavaScript 変換の方法」に示されているいずれかの変換方法を使用するかを決定する必要があります。

➤ LiveCycle Designer に Acrobat フォームを読み込むには:

1. LiveCycle Designer で、ファイル/開くを選択して PDF フォームファイルを選択し、Acrobat フォームを読み込みます。

2. 新規フォームアシスタントダイアログボックスが表示されます。読み込みのオプション(編集性を保持するか外観を保持するか)と返送方法(フォームの配信方法と返送方法)に関する情報を入力します。

3. 見つからないフォント、テキストオブジェクトの結合などの問題をすべて解決します。LiveCycle Designer ヘルプのトピック「他のアプリケーションからのフォームの読み込み」を参照してください。

4. 必要に応じて、フィールド名を、LiveCycle Designer のフィールド命名規則に準じた、スクリプトに適した名前に変換します。

5. 選択した方法に応じて、すべてのスクリプトを変換または適応させます。詳しくは、次のマニュアルを参照してください。

Designer 実装の種類 必要なスキル

LiveCycle Designer JavaScript プログラミングスキルが必要です。C 言語のプログラミングよりは簡単です。

Acrobat JavaScript 多少のプログラミングスキルが必要です。 LiveCycle Designer JavaScript に似ていますが、Acrobat JavaScript の方が習得がやや容易です。

FormCalc スクリプト シンプルな計算スクリプト言語です。タスクによって、簡単に実装できるものもあれば、多少のプログラミングスキルが必要になるものもあります。

LiveCycle Designer UI フォームロジック

プログラミングスキルは不要です。 簡単に作成および管理できます。

Page 12: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer JavaScript を含む Acrobat フォームの変換Converting Acrobat JavaScript for Use in LiveCycle Designer Forms テストとデバッグ 12

注: LiveCycle Designer フォームへの変換結果は、XML テキストファイルになります。 したがって、XML パーサやスタイルシート(XSLT)などのツールを使用して、変換後のフォームで「検索 - 置換」操作による一括変換が実行できます。

テストとデバッグ Acrobat JavaScript デバッガを使用して、変換後のスクリプトをテストできます。このデバッガは、Acrobat JavaScript と LiveCycle Designer JavaScript の両方で使用できます。

LiveCycle Designer でデバッガを設定すると、デバッガウィンドウにエラーメッセージが表示されます。コンソールに出力するコードを埋め込むことはできますが、Acrobat を使用してスクリプトをテストする場合に可能な、ブレークポイントの設定、コードのステップスルー、変数の調査などは行えません。

Acrobat JavaScript デバッガを有効にするには、編集/環境設定を選択し、左側の分類ペインで「JavaScript」を選択します。 表示される画面で、次のチェックボックスのうち最低 1 つをオンにします。

● Acrobat JavaScript を使用

● Acrobat を再起動した後で JavaScript デバッガを使用

● ブレークポイントを PDF ファイルに保存

● インタラクティブコンソールを使用

● エラーとメッセージをコンソールに表示

● Acrobat JavaScript エディタを使用

注: LiveCycle Designer で Acrobat JavaScript デバッガを使用している際に、デバッガを Acrobat で使用してスクリプトをテストおよびデバッグする必要が生じた場合は、最初に LiveCycle Designer のデバッガウィンドウを閉じる必要があります。

Acrobat で JavaScript デバッガを使用している際に、デバッガを LiveCycle Designer で使用する必要が生じた場合は、Acrobat Professional を閉じるとともに、Windows タスクマネージャで Acrobat.exe プロセスを停止する必要があります。 『Adobe XML Form Object Model 2.2 Reference』を参照してください。

Acrobat JavaScript デバッガの使用方法について詳しくは、『Acrobat JavaScript Scripting Guide』を参照してください。

フォームロジックの種類 参考文献

Acrobat JavaScript LiveCycle Designer で使用する Acrobat JavaScript について

● 14ページの「LiveCycle Designer フォームでの Acrobat JavaScript の使用」

● 19ページの「Acrobat JavaScript 変換表」

LiveCycle Designer JavaScript

● 『Adobe XML Form Object Model Reference Version 2.2』

● LiveCycle Designer ヘルプのトピック「演算とスクリプトの作成」

FormCalc スクリプト LiveCycle Designer ヘルプのトピック

● 「演算とスクリプトの作成」

● 「FormCalc ユーザリファレンス」

LiveCycle Designer UI フォームロジック

LiveCycle Designer ヘルプのトピック

● 「オブジェクトプロパティの定義」

Page 13: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer JavaScript を含む Acrobat フォームの変換Converting Acrobat JavaScript for Use in LiveCycle Designer Forms アプリケーションのバージョン問題 13

アプリケーションのバージョン問題

LiveCycle Designer フォームを開発してテストする際は、ユーザが古いバージョンの Adobe Reader や Acrobat を使用した場合に問題が発生する可能性があることを考慮してください。

● ユーザは Acrobat 6.0.2(PDF 言語バージョン 1.5)以上を使用する必要があります。 これより前のバージョンを使用した場合、LiveCycle Designer フォームは認識されず、LiveCycle Designer のスクリプトは一切動作しません。 バージョン要件を満たしていない場合は、ユーザに対して警告メッセージが表示されます。

● バージョン 6.0.2 を使用する場合は、Adobe Interactive Forms Update SP1 プラグインがインストールされている必要があります(http://www.adobe.com/support/downloads/ から入手できます)。

● Acrobat 7.0.5 では、Acrobat JavaScript によるフォーム内容の変更や構造の変更に関する制限が緩和されています。 変更が可能な場合でも(例えば、Acrobat JavaScript を使用してフォームの外観が変更できる場合でも)、変更を行うことは推奨しません。 変更しても、フォームの PDF 表現が変更されるだけで、フォームを保存して再度開いたり、ダイナミックフォームを再生成したりすると変更は失われてしまいます。

パフォーマンスの問題 一般にスクリプトは、フォームにビジネスロジックを追加するのに効率的な方法ですが、スクリプトの多用はパフォーマンスの問題につながります。 パフォーマンスの問題が発生した場合は、次の方法で解決を試みてください。

● フォームで負荷の高いデータベース参照や検証プロセスを行っている場合は、それらをサーバサイドで実行することを検討します。

● フォームで大量の計算を行っている場合は、JavaScript よりも効率的に計算を実行できる FormCalc スクリプトの使用を検討します (ただし、LiveCycle Forms を使用して HTML にレンダリングされるフォームでは FormCalc は使用できません)。

● 可能な限り LiveCycle Designer UI フォームロジックを使用します。 パフォーマンスの問題に大きな効果はないかもしれませんが、今後小さな変更が必要になったときにプログラミングの専門家でない人も変更が行えるようになり、ビジネスロジックの管理が容易になるという利点があります。

Page 14: Converting Acrobat LiveCycleâ„¢ Designer Forms

14

2

LiveCycle Designer フォームでの Acrobat JavaScript の使用

この章では、Acrobat オブジェクトモデルに制約がある理由と、Acrobat JavaScript を XML フォームで使用するのに必要な準備事項について説明します。

LiveCycle Designer フォームでの Acrobat JavaScript の使用 Acrobat JavaScript の多くは、LiveCycle Designer フォームで使用できます(ただし、フォームの内容や構造を変更しないものに限ります)。 LiveCycle Designer フォームでの使用に適さない Acrobat JavaScript 式の概要は、17ページの「LiveCycle Designer フォームでサポートされていない Acrobat JavaScript」を参照してください。

Acrobat JavaScript では、基本的なフォームの記述や内容を操作するだけでなく、さまざまなタスクを処理できます。 例えば、LiveCycle Designer フォームで Acrobat JavaScript を使用することで、次のことが行えます。

● PDF 文書への注釈の追加

● Acrobat の検索機能の活用

● PDF 文書への添付ファイルの追加

● Acrobat の Report オブジェクトを使用した、PDF ベースのレポート作成

● Acrobat の強力なマルチメディア機能の活用

● しおりやその他のナビゲーションの作成

● 文書のメタデータへのアクセスまたは更新

● Collab オブジェクトを使用した、共同作業、レビューおよびマークアップのサポート

Acrobat フォームと LiveCycle Designer フォームのオブジェクトモデルの理解 LiveCycle Designer フォームの PDF コンポーネントは、フォームを表示するためだけに使用されます。フォームの構造と内容は、LiveCycle Designer フォームのオブジェクトモデルで指定します。この点を理解しておくことは、LiveCycle Designer フォームで Acrobat JavaScript を使用する際に重要になります。 次の図は、PDF ファイルにパッケージ化される LiveCycle Designer フォームの内容を示したものです。

Page 15: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームでの Acrobat JavaScript の使用Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 変換された Acrobat JavaScript の有効化 15

LiveCycle Designer フォームを LiveCycle Designer で PDF ファイルとして保存すると、この図のコンポーネントが含まれたフォーム用の PDF ラッパーが作成されます。 コンポーネントの 1 つに、LiveCycle Designer フォームを PDF 形式で表示するコンポーネントがあります。このコンポーネントは、表示(フォームの表示や印刷)を行うためだけに使用されます。

Acrobat JavaScript を使用してフォームの内容や外観を変更しても、変更されるのは PDF 上での表示のみで、実際のフォーム自体は変更されていません。フォーム自体は、XML データで指定されます。

このような理由から、フォームの外観や内容を変更するのに Acrobat フォームのオブジェクトモデルを使用することは適切ではありません。 同じ理由から、Acrobat JavaScript はできるだけ LiveCycle Designer フォームのロジックまたはスクリプトに変換するようにしてください。

注: Acrobat/ LiveCycle Designer 7.0 では、Acrobat JavaScript を使用して LiveCycle Designer フォームを変更することは許可されていません。 Acrobat/ LiveCycle Designer 7.0.5 ではこの制約が緩和されていますが、このような操作は行わないようにしてください。

変換された Acrobat JavaScript の有効化 LiveCycle Designer で Acrobat フォームを変換すると、すべての Acrobat JavaScript が含まれたフォームが生成されますが、それらのスクリプトは無効になっています。 スクリプトの先頭に、スクリプトを無効にする関数呼び出し comment() が挿入されています。 テストのためにコードを有効化するには、各スクリプトの先頭にある comment() 関数呼び出しを削除します。

Acrobat フォームのオブジェクトモデルへのアクセス ほとんどの Acrobat JavaScript オブジェクト(Doc オブジェクトを除く)は、Adobe Acrobat で使用する場合と同様に、直接アクセスすることができます。

例えば、フォームボタンのクリックイベントに次の JavaScript コードを設定すると、Acrobat の search オブジェクトによって、フォーム内の「oranges」という単語が検索されます。

var mySearch = search; mySearch.query("oranges");

datasets

Content XFA

data

template

OtherXFA-related

packages

PDFrendering

of XFA form

XML formdata

PDF

Page 16: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームでの Acrobat JavaScript の使用Converting Acrobat JavaScript for Use in LiveCycle Designer Forms Acrobat Doc オブジェクトの使用 16

Acrobat Doc オブジェクトの使用

LiveCycle Designer フォームで Acrobat Doc オブジェクトを使用するには、下記の例のように変数にターゲット(例えばクリックイベントのターゲット)を割り当てるテクニックを使用することで、現在の文書への参照を取得する必要があります。

var myDoc = event.target; myDoc.importDataObject("pdfAttachment");

Acrobat フォームでは、「this.getAnnots()」のように、「this」を使用して Doc オブジェクト(現在の文書)を参照するのが普通です。 しかし、LiveCycle Designer JavaScript では、「this」は現在の文書ではなく、現在の XML フォームオブジェクトを参照します。 したがって、前述のようなテクニックが必要になります。

Doc オブジェクトへの参照を取得すれば、そのほとんどのメソッドやプロパティに通常と同じ方法でアクセスできます。前述の例では、PDF ファイルに追加する添付ファイルを指定するように求めるダイアログボックスが表示されます。

注: LiveCycle Designer の「PDF プレビュー」タブで Acrobat JavaScript をテストする場合、一部のスクリプトについては結果が表示されないことがあります。 例えば、app.execMenuItem("Open") というスクリプトが設定されているボタンは、LiveCycle Designer の PDF プレビューウィンドウでは動作しませんが、Acrobat でテストすれば動作します。

注: LiveCycle Designer で JavaScript コンソールを使用した後に、Acrobat で JavaScript コンソールにアクセスできない場合は、LiveCycle Designer に戻ってコンソールウィンドウを閉じてください。これによって、Acrobat でコンソールにアクセスできるようになります。

LiveCycle Designer JavaScript オブジェクトの参照 Acrobat JavaScript で LiveCycle Designer フォームのフィールドオブジェクトを参照するには、番号(オブジェクト名の後に括弧で囲んで指定)を使用した、完全修飾の参照を使用する必要があります。 例えば、Acrobat フォームでは、「TextField1」という名前のテキストフィールドは次のように参照しますが、

var f1 = this.getField("TextField1");

LiveCycle Designer フォームでは、番号を使用した完全修飾の参照を使用する必要があります。 したがってこのコードは、LiveCycle Designer フォームでは次のようになります。

var myDoc = event.target; var f1 = myDoc.getField("form1[0].mySubForm[0].TextField1[0]")

参照の形式を調べるには、Acrobat で次の手順を行って、フォームデータを CSV(カンマ区切りのスプレッドシートファイル)形式で書き出します。このスプレッドシートには、フォーム内の各フィールドが、番号を使用した完全修飾パスで示されています。

1. Acrobat で、 ファイル/フォームデータ/データファイルからスプレッドシートを作成を選択します。

2.「ファイルを追加」ボタンをクリックし、目的の PDF ファイルを探して選択します。

3.「書き出し」ボタンをクリックし、表示されるダイアログボックスで必要に応じてファイル名を編集し、「保存」ボタンをクリックします。

4.「ファイルを今すぐ表示」というボタンがあるダイアログボックスが表示されるので、そのボタンをクリックします。

5. スプレッドシートファイル(例えば、レポート .csv)が表示され、フォーム内のすべてのフィールドについて、番号を使用した完全修飾パスが示されます。

Page 17: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームでの Acrobat JavaScript の使用Converting Acrobat JavaScript for Use in LiveCycle Designer Forms LiveCycle Designer フォームでサポートされていない Acrobat JavaScript 17

この方法以外にも、完全修飾の参照を取得する方法が 2 つあります。 最初の方法では、番号は確認できますが、コピーして貼り付けることはできません。

● Acrobat を使用します。 Designer フォームオブジェクトの完全修飾の参照を確認するには、(LiveCycle Designer ではなく)Acrobat でフォームの PDF ファイルを開き、表示/ナビゲーションタブ/フィールドを選択します。 表示されたウィンドウの「フィールド」タブを選択し、現在の文書のフィールドアイコンを展開すると、番号を含んだ完全参照が表示されます(ただし、このウィンドウからコピーして貼り付けることはできません)。

2 つ目の方法では、完全修飾の参照は表示されますが、番号は確認できません。

● Designer を使用します。 Designer でも、完全修飾の参照(番号は除く)が確認できます。スクリプトエディタ内にカーソルを置き、Ctrl キーを押しながら、目的のオブジェクトまでマウスを移動します。 カーソルが「v」の記号のアイコンに変化します。 目的のフィールドをクリックします。 そのオブジェクトの絶対参照が、xfa.resolveNode 文の中に含まれた形で、スクリプトエディタに挿入されます。 xfa.resolveNode を削除して、目的の参照を取得します。

このように、Acrobat JavaScript で LiveCycle Designer のフィールドを参照することは可能ですが、フィールドの値やその他のプロパティを変更することは適切ではありません。 ただし、例えば field.rect プロパティを使用して、次のコードのようにフィールドオブジェクトのバウンディングボックスの座標を取得するのは問題ありません(この例では、結果が JavaScript コンソールに表示されます)。

var myDoc = event.target;var f1 = myDoc.getField("form1[0].mySubForm[0].TextField1[0]")console.println(f1.rect);

LiveCycle Designer フォームでサポートされていない Acrobat JavaScript LiveCycle Designer フォームでは、Acrobat JavaScript を使用してフィールドやページの内容を変更するのは避けてください。 次の表に、LiveCycle Designer フォームでサポートされていない Acrobat JavaScript のメソッドとプロパティをいくつか示します。

この表は完全ではありませんが、ページやフィールドの内容を変更するプロパティやメソッドは名前から判断できます。そのようなプロパティやメソッドはサポートされていません。 LiveCycle Designer 7.0 フォームで使用できる Acrobat メソッドおよびプロパティの詳細なリストは、19ページの「Acrobat JavaScript 変換表」を参照してください。

app.newFDF doc.getNthTemplate() doc.spawnPageFromTemplate()

doc.templates doc.gotoNamedDest() doc.setPageRotation()

doc.addField() doc.insertPages() doc.setPageTabOrder()

doc.addLink() doc.mailForm() doc.templates

doc.addThumbnails() doc.movePage() field.comb

doc.calculate doc.movePage() field.deleteItemAt()

doc.createTemplate() doc.removeField() field.clearItems()

doc.deletePages() doc.removeTemplate() field.insertItemAt()

doc.extractPages() doc.replacePages() field.value

doc.getLinks() doc.setAction()

Page 18: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームでの Acrobat JavaScript の使用Converting Acrobat JavaScript for Use in LiveCycle Designer Forms Acrobat の文書レベルおよびフォルダレベルのスクリプト 18

Acrobat の文書レベルおよびフォルダレベルのスクリプト

Acrobat の文書レベルのスクリプトは、LiveCycle Designer によって LiveCycle Designer スクリプトオブジェクトに変換されます。その他の Acrobat JavaScript と同様に、変換後のフォームではそれらのスクリプトは無効化されているので、LiveCycle Designer フォーム環境で動作するかどうかを確認する必要があります。comment() 関数呼び出しを削除して、慎重にコードをテストしてください。

Acrobat のフォルダレベルのスクリプトは PDF ファイルの LiveCycle Designer フォームでも動作しますが、標準の Acrobat JavaScript と同じように LiveCycle Designer で適切に使用できるかどうかを確認する必要があります(19ページの付録 A「Acrobat JavaScript 変換表」を参照してください)。

LiveCycle Designer での Acrobat JavaScript のテスト LiveCycle Designer に Acrobat フォームを読み込むと、すべての Acrobat JavaScript が comment() 関数呼び出し(意図的に無効にする関数呼び出し)によって無効化されます。 それらの JavaScript を使用するには、まず、その Acrobat JavaScript による式が LiveCycle Designer でサポートされているかどうかを確認します(19ページの付録 A「Acrobat JavaScript 変換表」を参照してください)。 サポートされている場合は、comment() コードを削除して、コードをテストします。 12ページの「テストとデバッグ」も参照してください。

トラブルシューティング LiveCycle Designer フォームで、意図したとおりに Acrobat JavaScript 式が動作しない場合は、次の点を確認してください(Doc オブジェクトについては、特別な処置が必要です)。

● LiveCycle Designer フォームでその Acrobat JavaScript 式が使用可能かどうかを確認します。19ページの付録 A「Acrobat JavaScript 変換表」を参照してください。

● バージョンの互換性問題を確認します。 フォームの内容や構造を変更する Acrobat JavaScript(バージョン 6.X では動作する)は、7.0 では許可されなくなりましたが、7.0.5 では再び許可されています。ただし、フォームの内容や構造の変更が可能になるとはいえ、そのような処理は推奨されません。14ページの「Acrobat フォームと LiveCycle Designer フォームのオブジェクトモデルの理解」を参照してください。

● フィールドオブジェクトの参照を調べて、スコープが正しいかどうか確認します (現在のコンテナ外への参照に、完全修飾の参照を使用しているなど)。

● 『Acrobat JavaScript Reference』でセキュリティの制限を確認します。Acrobat オブジェクトの中には、バッチモードでしか実行できないものやフォルダレベルの JavaScript でしか実行できないもの、または Acrobat JavaScript コンソールからしか実行できないものもあります。

● LiveCycle Designer フィールドオブジェクトへのすべての参照が、番号を使用した完全修飾の参照であることを確認します。

● LiveCycle Designer でテストしたときに動作しない JavaScript がある場合は、Acrobat Professional で表示したときに動作するかどうかを確認します。

Page 19: Converting Acrobat LiveCycleâ„¢ Designer Forms

19

A Acrobat JavaScript 変換表

次の表に、よく使用される Acrobat JavaScript 式を示します。 表の 2 列目と 3 列目は、その Acrobat JavaScript 式を LiveCycle Designer フォームで使用できるかどうか、および対応する機能が LiveCycle Designer に用意されているかどうかを示します(Y = はい、N = いいえ)。

一部の Acrobat オブジェクトは、この表に含まれていません。 例えば、マルチメディアオブジェクトは LiveCycle Designer フォームですべて動作するので、この表には含まれていません。 一部の特別な用途のオブジェクトはフォームで使用されることが少ないので、この表には含まれていません。

対応する LiveCycle Designer JavaScript が記載されていないものもありますが、それは、その機能を LiveCycle Designer スクリプトで実現するのは不可能であるという意味ではなく、単に、単一の式で対応するものは存在しないということを表しています。

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Annot オブジェクトのプロパティ/メソッド

< すべてのプロパティとメソッド >

Y N 対応する式なし Acrobat JavaScript の Annot オブジェクトのプロパティおよびメソッドは、すべて LiveCycle Designer フォームで使用できます。

注 : 注釈レイヤーをサポートしているのはスタティックフォームのみです。ダイナミックフォームではサポートされていません。

App オブジェクトのプロパティ

app.calculate N N objectname.execCalculate() 最も近い機能を持つ LiveCycle Designer JavaScript メソッドは、 objectname.execCalculate() です。このメソッドでは、計算対象を制御できます。

app.language Y Y xfa.host.language

app.monitors Y N —

Page 20: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 20

app.platform Y Y xfa.host.platform

app.plugins Y N —

app.toolbar Y N —

app.viewerType Y Y xfa.host.appType

app.viewerVariation Y Y xfa.host.variation

app.viewerVersion Y Y xfa.host.version

App オブジェクトのメソッド

app.addMenuItem() Y N —

app.addSubMenu() Y N —

app.addToolButton() Y N —

app.alert() Y Y xfa.host.messageBox()

app.beep() Y Y xfa.host.beep()

app.browseForDoc() Y N —

app.clearInterval() Y N —

app.clearTimeOut() Y N —

app.execDialog() Y N —

app.execMenuItem() Y N — 指定されたメニュー項目を実行します。 LiveCycle Designer の「閉じる」、「検索」、「保存」、「名前を付けて保存」、「開く」、「印刷」などのメニュー項目に使用できます。

app.getNthPluginName() Y N —

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 21: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 21

app.getPath() Y N —

app.goBack() Y N —

app.goForward() Y N —

app.hideMenuItem() Y *

N —

app.hideToolbarButton() Y N —

app.launchURL() Y Y xfa.host.gotoURL

app.listMenuItems() Y N —

app.listToolbarButtons()

Y N —

app.mailGetAddrs() Y N —

app.mailMsg() Y N —

app.newDoc() Y N — Acrobat フォームでは、バッチ処理、コンソールまたはメニューイベントでのみ実行できます。

app.newFDF() N N —

app.openDoc() Y N —

app.openFDF() N N —

app.popUpMenuEx() Y N —

app.popUpMenu() Y N —

app.removeToolButton() Y N —

app.response() Y Y xfa.host.response ("Question", "Title", "Default Value")

app.setInterval() Y N —

app.setTimeOut() Y N —

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 22: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 22

app.trustedFunction() Y N — Acrobat JavaScript では、 関数を「信頼済み」とすることにより、スタックフレームに対する現在の権限レベルを上げることができます。 バッチ処理、コンソール、アプリケーションの初期化でのみ使用可能です。

app.trustPropagatorFunction()

Y N —

Bookmark オブジェクトのプロパティ/メソッド

< すべてのプロパティとメソッド >

Y N 対応する式なし

Doc オブジェクトのプロパティ

doc.author Y N —

doc.baseURL Y N —

doc.bookmarkRoot Y N —

doc.calculate N N —

doc.dataObjects Y N —

doc.delay N N —

doc.dirty Y N — 初期化時に、フォームのコピーを保存できます。

var sOrigXML = xfa.data.saveXML;

その後、変更があったかどうかをテストします。

if(sOrigXML !=xfa.data.saveXML){...}

doc.disclosed Y N —

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 23: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 23

doc.documentFileName Y N —

doc.dynamicXFAForm Y N —

doc.external Y N —

doc.filesize Y N —

doc.hidden Y N —

doc.icons Y N —

doc.keywords Y N —

doc.layout Y N —

doc.media Y N —

doc.metadata Y Y xfa.form1.desc

doc.modDate Y N —

doc.mouseXdoc.mouseY

Y Y

N N

doc.noautocomplete Y N — フォームをオートコンプリートするかどうかを指定するブーリアン値です(LiveCycle Designer フォームでは初期値の設定と呼ばれます)。

doc.nocache Y N —

doc.numFields Y Y var allFormObjects = form1.Page1.nodes; for(i=0; i< allFormObjects.length;i++){app.alert(allFormObjects.it em(i).rawValue); }

doc.numPages Y Y xfa.host.numPages

xfa.layout.absPageCount() xfa.layout.pageCount()

xfa.resolveNode("FieldName[ *]").length

doc.pageNum Y Y xfa.host.currentPage

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 24: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 24

doc.pageNum-- Y Y xfa.host.currentPage--

または xfa.host.pageUp()

doc.pageNum++ Y Y xfa.host.currentPage++

またはxfa.host.pageDown()

doc.path Y N —

doc.securityHandler Y N —

doc.templates N N — 対応する式はありません。 LiveCycle Designer フォームでサブフォームを使用します。 サブフォームのインスタンスを追加、削除、移動および設定できます。

doc.title Y Y xfa.host.title

Doc オブジェクトのメソッド

doc.addAnnot() Y N —

doc.addField() N N — LiveCycle Designer のダイナミックサブフォームを使用する必要があります。フィールドの表示または非表示を指定します。 例えば、次のようにします。this.presence = "visable"(または、"invisible")。

doc.addIcon() Y N —

doc.addLink() N N — 完全に対応するものはありませんが、次の例のように、Web ページへのリンクは追加できます。フォーム内の他のページへのリンクは追加できません。 例: xfa.host.gotoURL ("http://www.adobe.com")

doc.addRecipientListCryptFilter()

Y N —

doc.addScript() Y N —

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 25: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 25

doc.addThumbnails() N N —

doc.addWatermarkFromFile()

Y N —

doc.addWatermarkFromText()

Y N —

doc.addWeblinks() Y N —

doc.appRightsSign() Y N —

doc.appRightsValidate() Y N —

doc.bringToFront() Y N —

doc.calculateNow() N Y xfa.form.recalculate(1); Acrobat JavaScript では、 文書内のすべてのフィールドが計算されますが、この操作は LiveCycle Designer フォームでは許可されていません。 LiveCycle Designer JavaScript の recalculate メソッドは、計算イベント上の特定のスクリプトセットを実行します。 ブーリアン値は、True(デフォルト。すべての計算スクリプトが再実行される)か False(保留されている計算スクリプトのみが実行される)になります。

xfa.form.calculate() LiveCycle Designer JavaScript の calculate オブジェクトは、計算された値をユーザが上書きできるかどうかの制御を行います(つまり、Acrobat JavaScript に対応する式ではありませんが、違いを明らかにするために記載しています)。

doc.closeDoc() Y ? —

doc.createDataObject() Y N —

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 26: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 26

doc.createTemplate() N N — LiveCycle Designer のテンプレートは、Acrobat のテンプレートとは異なる機能を持ちます。 LiveCycle Designer では、サブフォーム機能が Acrobat のテンプレートと同等の機能を提供します。

doc.deletePages() N N —

doc.embedDocAsDataObject()

Y N —

doc.encryptForRecipients()

Y N —

doc.encryptUsingPolicy()

Y N —

doc.exportAsText() Y N — セキュリティの制限により、このメソッドは JavaScript コンソールまたはバッチ処理でのみ利用できます。

doc.exportAsFDF() N Y xfa.host.exportData() 対応する LiveCycle Designer 式では、FDF ファイルではなく XML または XDP ファイルが書き出されます。

doc.exportAsXFDF() N Y xfa.host.exportData("filename.xml", 0);

doc.exportDataObject() Y N —

doc.exportXFAData( ) N Y xfa.host.exportData()

doc.extractPages() N N —

doc.flattenPages() Y N —

doc.getAnnot() Y N —

doc.getAnnots() Y N —

doc.getDataObjectContents()

Y N —

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 27: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 27

doc.getField("FName") Y Y xfa.resolveNode("FName") Acrobat コードは引数に与えられたフィールド名を名前付きフィールドオブジェクトにマッピングします。Designer JavaScript の resolveNode は指定されたツリーオブジェクトにアクセスします。 7.0 では、doc.getField() を使用してフィールドのプロパティにアクセスできますが、フィールドの値を設定したり、フィールドのプロパティを変更したりすることはできません。

doc.getLegalWarnings() Y N —

doc.getLinks() N N —

doc.getNthFieldName() Y Y LiveCycle Designer フォームでは、xfa.host.numPages; を使用してすべてのページ内をループできます。xfa.layout.pageContent() を使用してフィールドノードを取得し、クラス名が「textEdit」のフィールドを数えることができます。

Acrobat JavaScript の event.target.getNthFieldName(2 )

でフィールド名を取得できます。

doc.getNthTemplate() N N —

doc.getOCGs() Y N —

doc.getOCGOrder() Y N —

doc.getPageBox() Y N —

doc.getPageLabel() Y N —

doc.getPageNthWord() Y N —

doc.getPageNthWordQuads()

Y N —

doc.getPageNumWords() Y N —

doc.getPageRotation() Y N —

doc.getPrintParams() Y N —

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 28: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 28

doc.getTemplate() N N —

doc.getURL() Y Y xfa.host.gotoURL("http://www.adobe.com")

doc.gotoNamedDest() N N —

doc.importAnFDF() N N —

doc.importAnXFDF() Y N —

doc.importDataObject() Y N —

doc.importIcon() Y N —

doc.importTextData() Y N —

doc.importXFAData( ) N Y xfa.host.importData("filename.xdp");

doc.insertPages() N N —

doc.mailDoc() Y N —

doc.mailForm() N N —

doc.movePage() N N —

doc.newPage() N N —

doc.openDataObject() Y N —

doc.print() Y Y xfa.host.print();

doc.removeDataObject() Y N —

doc.removeField() N N —

doc.removeIcon() Y N —

doc.removeLinks() N N —

doc.removeScript() Y N —

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 29: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 29

doc.removeTemplate() N N —

doc.removeThumbnails() N N —

doc.removeWeblinks() Y N —

doc.replacePages() N N —

doc.resetForm() N Y xfa.host.resetData()

xfa.event.reset()

doc.saveAs() Y N — ファイルを保存します。 引数を指定しない場合、ダイアログボックスが表示されます。 LiveCycle Designer では、ファイルをアプリケーションレベルで保存する必要があるので、Acrobat JavaScript の app.executeMenuItem("SaveAs");

または var myDoc = event.target; myDoc.saveAs();

を使用する必要があります。

doc.spawnPageFromTemplate()

N N —

doc.setAction() N N —

doc.setPageLabel() Y N —

doc.setPageRotation() N N —

doc.setPageTabOrder() N N — タブオーダは LiveCycle Designer UI で設定します。

doc.setScript() N N —

doc.submitForm() Y N LiveCycle Designer UI で作成されたフォーム送信ボタンを使用する必要があります。

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 30: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 30

event オブジェクトのプロパティ

event.change() Y Y XFA.eventPseudoModel.change

event.targetName Y Y XFA.eventPseudoModel.target

Field オブジェクトのプロパティ

field.comb N Y —

field.charLimit N N — スタティック LiveCycle Designer フォームの場合、LiveCycle Designer UI を使用して文字数制限を設定できます。ダイナミックフォームの場合は、すべてのデータが収まるようにフィールドを拡張できます。

field.display = display.noView

N Y prePrint イベントで this.presence = "visible"、postPrint イベントで this.presence = "invisible"。

このプロパティは LiveCycle Designer UI で設定できます。また、その他の presence オプションも設定できます。 JavaScript を使用すると、画面上では非表示、印刷したときには表示されるようにフォームフィールドを設定できます。

field.display = display.noPrint

N Y prePrint イベントで this.presence = "invisible"、postPrint イベントで this.presence = "visible"。

field.defaultValue N N *

— デフォルト値は LiveCycle Designer UI で設定します。

field.exportValues N N *

— 書き出し値は LiveCycle Designer UI で設定します。

field.fillColor N Y xfa.Form2.NumericField3.fil lColor = "200, 150, 250";

field.hidden N Y this.presence = "invisible"

this.presence = "visible"

field.multiline N Y — プロパティは LiveCycle Designer UI で設定します。

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 31: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 31

field.password N N — LiveCycle Designer UI の設定で制御します。特別なパスワードフィールドオブジェクトが存在します。

field.page N — LiveCycle Designer フォームには該当しません。

field.print N Y TextField1.relevant "-print";

左のコードは、テキストフィールドを画面上には表示し、印刷はしないことを指定します。

field.radiosInUnison N N — LiveCycle Designer では、単一の実行グループに属するすべてのラジオボタンは互いに排他的です。グループは LiveCycle Designer UI で設定します。

field.rect Y N LiveCycle Designer フォームフィールドの高さと幅を取得できます。xfa.layout.h(textField1); xfa.layout.w(textField1);

または、次のコードでフォームオブジェクトの x 座標と y 座標を取得できます。xfa.layout.x(textField1); xfa.layout.y(textField1);

field.required N N — LiveCycle Designer フォームでは、このプロパティは UI で設定します。

field.textColor N Y TextField1.fontColor

field.textSize N Y TextField1.font.size = 14;

field.textFont N Y TextField1.font.typeface = "Viva Regular";

field.value N Y <fieldName>.rawValue 注 : Designer フォームフィールドにも value プロパティがありますが、これは Acrobat の value プロパティと同じではありません。

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 32: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 32

Field オブジェクトのメソッド

field.clearItems() N Y ?

DropDownList1.clearItems(); XFA では、 ドロップダウンリストが機能的に似ています(完全に同じではありません)。

field.deleteItemAt() N ? —

field.getItemAt() N N —

field.insertItemAt() N N DropDownList1.addItem(..... ).value

引数およびサンプルコードについては、『Adobe XML Form Object Model 2.2 Reference』の「JavaScript Examples」の節を参照してください。

field.isBoxChecked() N ? if(CheckBox1.rawValue == 1)....

field.isDefaultChecked()n

N

field.setAction() N N — LiveCycle Designer フォームには該当しません。

field.setFocus() Y (? )

Y xfa.host.setFocus("<field reference>")。

field.setItems() N N —

field.setLock() Y N —

field.signatureGet Modifications()

Y N —

field.signatureGetSeedValue()

Y N —

field.signatureInfo() Y N —

field.signatureSetSeedValue()

Y N —

field.signatureSign() Y N —

field.signatureValidate()

Y N —

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 33: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer Acrobat JavaScript 変換表Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 33

Search オブジェクトのメソッド

search.query("<your text>");

Y N 対応する式なし

SOAP オブジェクトのメソッド

SOAP.connect(cURL)

<すべてのプロパティとメソッド >

Y N 対応する式なし

Acrobat JavaScript Live

Cyc

le D

esig

ner で動作

対応する

Liv

eCyc

le D

esig

ner 式

LiveCycle Designer JavaScript 説明

Page 34: Converting Acrobat LiveCycleâ„¢ Designer Forms

34

B LiveCycle Designer フォームの概要

文書のアクションの設定 Acrobat でフォームを設計する場合は、アクションの設定ダイアログボックスを使用することで、文書のさまざまなアクションに対して JavaScript が実行されるよう、フォームを設定できます。 LiveCycle Designer で同じことを行うには、階層パネルでフォームのルート要素を選択し、イベントドロップダウンリストから適切なイベントを選択し、必要に応じてスクリプトを追加します。

注 : 次の表には、よく使用される Acrobat イベントのみが示されています。

Acrobat イベント

LiveCycle Designer フォームイベント 説明

文書

Open

Will Close docClose 文書を閉じる前に実行します。

Will Save preSave 文書を保存する前に実行します。

Did Save postSave 文書を保存した後に実行します。

Will Print prePrint 文書を印刷する前に実行します。

Did Print postPrint 文書を印刷した後に実行します。

docReady データのバインディングが行われた後、文書をレンダリングする前に実行します。

フィールド

initialize

Focus Enter; mouseUP;

Blur mouseEnter

Validate validate

Calculate calculate

Format —v

MouseEnter mouseEnter

MouseExit mouseExit

MouseDown mouseDown; Click

MouseUp mouseUp

KeyStroke/Change Change/Full

Page 35: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームの概要Converting Acrobat JavaScript for Use in LiveCycle Designer Forms フォームレベルのイベントの作成 35

フォームレベルのイベントの作成 フォームレベルのイベント

文書レベルのスクリプト 文書レベルの JavaScript を使用する主な理由として、フォーム全体でのコードの再利用が挙げられます。 さまざまなフォームコントロール(フォームボタンやドロップダウンリストなど)に個別にコードを割り当てるのではなく、フォーム内のすべてのコントロールから呼び出せるグローバルな領域にコードを配置できます。

ページ

PageOpen

PageClose

Acrobat イベント

LiveCycle Designer フォームイベント 説明

Page 36: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームの概要Converting Acrobat JavaScript for Use in LiveCycle Designer Forms 文書レベルのスクリプト 36

Acrobat でこれを行うには、JavaScript 関数ダイアログボックスを使用するのが最もよい方法です。 LiveCycle Designer では、スクリプトオブジェクトという概念が導入されています。このオブジェクトは、再利用できる共通の文書レベルのスクリプトを格納するために使用できます。

次の図は、フォームレベルで存在している objScript1 というスクリプトオブジェクトを示したものです。このオブジェクトには、フォームのどの場所からでもアクセスできます。 このスクリプトオブジェクトには、文字列パラメータを取る showName という関数があります。 この関数は次のように呼び出します。

objScript1.showName("Enter Name");

スクリプトオブジェクトの作成

スクリプトオブジェクトは、JavaScript フォームロジックの編成と管理に役立ちます。 スクリプトオブジェクトでは FormCalc はサポートされていません。 スクリプトオブジェクトを使用する場合の例として、顧客とその取引に関する情報が格納されるフォームがあります。 長くて複雑な単一のロジックを保持する代わりに、別々のスクリプトオブジェクトを使用してロジックを編成することができます。この場合は、顧客関連のロジックを保持するスクリプトオブジェクトと、取引関連のロジックを保持するスクリプトオブジェクトを用意します。

Page 37: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームの概要Converting Acrobat JavaScript for Use in LiveCycle Designer Forms フィールドレベルのスクリプト 37

複数のスクリプトオブジェクトによる明確化

フィールドレベルのスクリプト 文書レベルスクリプトのためにスクリプトオブジェクトを利用することは有益ですが、特定のフォームコントロールにのみスクリプトを関連付けたほうがよい場合もあります。 LiveCycle Designer でフィールドレベルのスクリプトを追加するには、次の手順を行います。

1. スクリプトを関連付けるフィールドを選択します。

2. スクリプトエディタを開きます。

3. ドロップダウンメニューからスクリプトを関連付けるイベントを選択します。

4. 使用する言語(JavaScript または FormCalc)を選択します。

5. 実行位置を、クライアント、サーバ、クライアント/サーバの中から選択します。 ほとんどの Acrobat アプリケーションでは、クライアントを選択します (詳しくは、LiveCycle Designer ヘルプの「計算およびスクリプトの実行場所」を参照してください)。

6. エディタにスクリプトを入力します。

Page 38: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームの概要Converting Acrobat JavaScript for Use in LiveCycle Designer Forms フィールドレベルのスクリプト 38

フィールドレベルのスクリプトの作成

フィールドレベルのスクリプトは、スクリプトオブジェクトに格納されている関数を呼び出す場合にも使用されます。 つまり、フォームボタンのクリック時に呼び出す関数がスクリプトオブジェクトに格納されている場合、フィールドレベルのスクリプトをボタンに関連付けて、スクリプトオブジェクト内の関数を呼び出します。 この例を、次のスクリーンショットで説明します。

Page 39: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームの概要Converting Acrobat JavaScript for Use in LiveCycle Designer Forms フィールドレベルのスクリプト 39

transScript スクリプトオブジェクトに格納された関数

Page 40: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームの概要Converting Acrobat JavaScript for Use in LiveCycle Designer Forms データベースとのインタフェイス 40

スクリプトオブジェクト「transScript」内の JavaScript 関数をクリックイベントに関連付ける

データベースとのインタフェイス データベースを LiveCycle Designer のフォームフィールドにバインドする機能を使用すれば、フォームの開発に必要なスクリプトが少なくなります。 データベースをフォームフィールドに結び付けると、LiveCycle Designer が自動的にさまざまな処理を行ってくれます。 LiveCycle Designer を使用して ODBC データベースに接続し、レコード間の移動を行うには、次の手順を行います。

1. LiveCycle Designer ヘルプの「データベースへのデータ接続の作成」に従って、データベースへの接続を作成します。

2. 接続を作成すると、データ表示パレットにその接続が表示されます。 データ接続アイコンをフォーム上にドラッグします。 これによりフォームフィールドが作成され、データ接続のデータベーススキーマに結び付けされます。

3. 通常タイプの新規フォームボタンを 2 つ作成します。 ボタンの名前は、「次のレコード」と「前のレコード」にします。 これらのボタンは、データソースのレコード間を移動するのに使用します。

4.「次のレコード」フォームボタンを選択します。スクリプトエディタで、このボタンの click イベントに sourceSet.DataConnectionName.next(); と入力します。 スクリプト言語として JavaScript を選択します。これは、レコードセットの次のレコードに移動するためのスクリプトです。 例えば、データソースの名前が「Customers」である場合は、次のように入力します。

sourceSet.Customers.next();

Page 41: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームの概要Converting Acrobat JavaScript for Use in LiveCycle Designer Forms データベースとのインタフェイス 41

5.「前のレコード」フォームボタンも同じように設定します。ただし、入力するスクリプトは sourceSet.DataConnectionName.previous(); です。 これは、レコードセットの前のレコードに移動するためのスクリプトです。

また、フォームを使用してデータベースに新規レコードを追加することもできます。フォームボタンをさらに 2 つ作成して、それぞれ「新規レコードの追加」、「保存」という名前を付けます。 「新規レコードの追加」フォームボタンを選択します。スクリプトエディタで、このボタンの click イベントに sourceSet.DataConnectionName.addNew(); と入力します。 スクリプト言語として JavaScript を選択します。 このボタンをクリックすると、レコードセットに新規レコードが作成されます。 フォームフィールドに新しくデータを入力したら、「保存」フォームボタンをクリックすることになります。このボタンの click イベントには、sourceSet.DataConnectionName.Update(); というスクリプトを関連付けます。

次の表に、LiveCycle Designer でデータ接続とのインタフェイスを確立するのに使用できるメソッドを示します。

メソッド 説明

addNew() レコードセットに新規レコードを追加します。

cancel() 更新メソッドを呼び出す前に、レコードセットオブジェクトの現在の行または新規の行に加えられた変更をキャンセルします。または、レコードオブジェクトのフィールドコレクションに加えられた変更をキャンセルします。

cancelBatch(); 保留されているバッチ更新をキャンセルします。

close(); データソースへの接続を閉じます。

delete(); レコードセットから現在のレコードを削除します。

first(); レコードセットの最初のレコードに移動し、LiveCycle Designer Data DOM にレコードデータを配置します。

hasDataChanged(); コミット前のテストです。 現在のレコードデータを、現在のデータソースのレコードデータと比較します。 フィールドまたは列情報が異なる場合は、このメソッドから True が返されます。

いずれかの移動メソッド(previous、next、first または last)を実行すると、暗黙的に更新が行われます。 このメソッドは、現在のアクティブレコードに対するテストです。

isBOF(); レコードセットの BOF に達している場合、True を返します。

bofAction プロパティは「stayBOF」に設定されている必要があります。

isEOF(); レコードセットの EOF に達している場合、True を返します。

eofAction プロパティは「stayEOF」に設定されている必要があります。

last(); レコードセットの最後のレコードに移動し、LiveCycle Designer Data DOM にレコードデータを配置します。

next(); レコードセットの次のレコードに移動し、LiveCycle Designer Data DOM にレコードデータを配置します。

open(); データソースに接続し、LiveCycle Designer Data DOM に現在のレコードの結果を配置します。

previous(); レコードセットの前のレコードに移動し、LiveCycle Designer Data DOM にレコードデータを配置します。

Page 42: Converting Acrobat LiveCycleâ„¢ Designer Forms

Adobe Acrobat Adobe LiveCycle Designer LiveCycle Designer フォームの概要Converting Acrobat JavaScript for Use in LiveCycle Designer Forms データベースとのインタフェイス 42

requery(); 現在のバインディングをリフレッシュします。これによって、オブジェクトに対応するクエリが再実行され、データが更新されます。 このメソッドを呼び出すと、閉じるメソッドと開くメソッドを連続して実行した場合と同じ処理が行われます。

resync(); 必要に応じて、レコードセットまたは接続のリフレッシュを強制します。

update(); レコードセットの現在のレコードを更新します。

updateBatch(); 保留中のすべてのバッチ更新をデータソースに書き込みます。

メソッド 説明

Page 43: Converting Acrobat LiveCycleâ„¢ Designer Forms

43

C LiveCycle Designer UI フォームロジックの例

この付録では、LiveCycle Designer UI の設定をとおしてフォームのテキストフィールドに追加できるフォームロジックの例を紹介します。 この方法でロジックを追加する利点は、JavaScript を使用するよりも簡単である点です。 また、スキルのあるプログラマがいなくても行えるので、長期的な管理と更新がしやすくなります。

LiveCycle Designer UI で追加できるその他のロジックについて詳しくは、LiveCycle Designer ヘルプのトピック「オブジェクトプロパティの定義」を参照してください。

ロジック 説明

ロケールの設定 言語のロケールを設定します。 特定の言語やデフォルトロケールを設定したり、ユーザのシステムロケールを使用するように選択できます。

ユーザにデータの入力を求めるメッセージの設定

Acrobat では、カスタムスクリプトを実行するイベントアクションでしかメッセージは表示できません。

LiveCycle Designer では、ユーザが値を入力しないでフィールドから移動したときや、必須データを入力しないでフォームを送信しようとしたときに表示するカスタムメッセージを指定できます。

検証パターンとエラーメッセージの設定

Acrobat では、許容される数の範囲を指定するか、カスタム JavaScript を実行して検証する方法しかありません。 LiveCycle Designer では、データが準拠すべき検証パターンを設定し、データがそのパターンに一致していない場合に表示するエラーメッセージを指定できます。

実行時の値の定義 現在のページ番号、全ページ数、ビューアの言語、名前、バージョン番号など、さまざまな実行時の値を設定できます。

データバインディングパターンの定義

バインディングされているデータの格納と検索を行うためのパターンを設定します。

上書きメッセージ 計算済みフィールドの値を変更しようとしていることをユーザに伝えるカスタムメッセージを設定します。

オブジェクトタイプの設定

実行時の計算を有効にし、必要に応じてユーザ操作を要求します。 フィールドのタイプとその使用法を制御するために、特別な機能を実行するスクリプトを作成したり、実行時プロパティを選択したりできます。