本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

PDF フォームから IBM Lotus Forms への移行

Gu Yi , Lead Software Engineer, IBM
Gu Yi は、IBM China Development Lab における IBM Software Services for Lotus (ISSL) Emerging Services Team の Lead Software Engineer です。2005 年から IBM Software Services プロジェクトに取り組み、IBM Lotus Forms を含む複数のサービス・プロジェクトに参加してきました。特に、プロジェクトを合理化し、IBM の製品化機能を高めるサービス資産の作成に重点を置いています。また、IBM WebSphere® Portal に従事した経験が 3 年あり、Java™ 2 Platform、Enterprise Edition 開発の業界で 4 年間の経験があります。連絡先は guyi@cn.ibm.com です。

概要: 電子フォームの世界では、IBM® Lotus® Forms と PDF フォームの 2 つが、最も普及している製品です。Lotus Forms のプロジェクトは、既存の電子フォームを移行するタスクと、最初から電子フォームを新規作成するタスクの 2 つに分類されます。私たちは IBM Software Services for Lotus での経験から、ほとんどのフォーム・プロジェクトは、PDF フォームから Lotus Forms への移行に関連していることがわかりました。(原文公開日:2008年12月3日)

日付:  2009年 4月 17日
レベル:  中級 この記事の原文:  英語
アクティビティー: 5110 ビュー
お気軽にご意見・ご感想をお寄せください: 


PDF フォームは Lotus Forms とは異なるタイプの電子フォームで、対話式フィールドを持たない静的なバイナリー・ファイル、または XML が埋め込まれた動的な XFA (XML Forms Architecture) フォームのいずれかです。Lotus Forms Conversion Tool 3.0 は、PDF フォームを Lotus Forms 3.0 に自動的に変換できる Lotus Forms Designer 用プラグインです。静的 PDF ファイルおよび動的 XFA フォームの両方をサポートしています。また、変換プロセスに適用できるカスタマイズ済みルールや最適化プログラムも数多く含まれています。自動変換後は、プレゼンテーション層、XForms インスタンス、およびビジネス・ロジックに関し、変換されたフォームを手動で更新するためのプラグインが必要です。

この記事では、PDF の移行プロジェクトの概要を簡潔に述べてから、Lotus Forms 3.0 の変換ツールについて詳しく説明します。また、手動での作業および要件についての詳細なリストも示します。これは、プロジェクトのサイジングや見積もりのための重要なリストです。読者の方は、IBM Lotus Forms 製品に習熟している必要があります。この記事は、フォームのサービス・プロジェクトに関するプロジェクト経験を理解および共有したい IBM Lotus Forms のあらゆるユーザーに適しています。

PDF フォームについて

PDF は Portable Document Format の頭字語であり、Adobe® Systems Inc. によって開発されたファイル・フォーマットです。PDF はフォーマット情報をさまざまなデスクトップ・パブリッシング・アプリケーションから取り込み、フォーマットした文書を送信して受信者のモニターまたはプリンターに意図どおりに出力することを可能にします。PDF ファイルを表示するには Adobe Reader が必要で、PDF ファイルを作成または変更するにはAdobe Acrobat Professional または Adobe Acrobat Designer が必要です。

PDF フォームは、静的 PDF フォームと対話式 PDF フォームの 2 つのタイプに分類できます。静的 PDF フォームは、対話式の要素を持たない従来型の PDF 文書です。フォームは、静的要素 (テキスト、点、線、グラフィックなど) で構成されています。ファイルはバイナリー形式で保存されます。

もう 1 つの PDF フォームのタイプは、対話式の PDF フォームです。PDF 仕様によると、対話式フォームには次の 2 つのタイプがあります。

  • AcroForm.PDF 仕様 1.2 で導入されたこのフォームは、ユーザーから情報を対話式に収集するフィールドの集まりです。対話式フォームのコンテンツおよびプロパティーは、PDF ファイル内の文書カタログの AcroForm エントリーから参照される対話式フォームの辞書によって定義されます。
  • XML Forms Architecture (XFA). XFA は、テンプレート・ベースの文法と、ユーザーによる対話式フォームの構築を可能にする処理ルールのセットを備えています。テンプレート・ベースの文法により、ユーザーがデータを入力するフィールドが定義されます。XFA のオープンな特性により、対話式フォームを記述する共通の XML 文法がもたらされます。これが共通の基盤となって、フォーム処理アプリケーション間でフォームに関連するやりとりが行われます。このオープンな特性は、XFA が多様なビジネスに適用されることを意味します。XFA フォームは、次のような幅広い機能を持っています。
    • Workflow. このタイプのフォームには、データのプレゼンテーション、データのキャプチャー、およびデータの編集が含まれます。XFA は、バックエンド・サーバーにデータを送信するフロントエンド・アプリケーションとして機能します。また、印刷の目的で使用することもできます。
    • Dynamic interactions. 動的な機能には、ユーザーによって編集され、動的な計算、検証、および他のイベントをともなう対話式のフォームから、サーバーによって生成され、マシンによって値が入力されたフォームまで、さまざまなものがあります。
    • Dynamic layout. フォームは、ユーザーまたは外部データ・ソース (データベース・サーバーなど) から供給されたデータを収容するために、自分自身の構成を自動的に変更することができます。たとえば、サーバーから取り出したデータが 100 行の場合、フォームは 100 行を表示します。
    • Complexity. この機能には、単一ページの静的フォーム、データの内容に基づく動的な文書組み立て、および数十万のトランザクションが含まれる巨大な生産工程などが含まれます。

対話式フォームの 1 つのタイプである XFA は、次の点で AcroForm よりも高度です。

  • XFA は XML ベースのワークフローで使用できます。
  • XFA はデータを XFA テンプレートから分離します。これにより、サポートされるデータ構造の柔軟性が大幅に高まり、データをフォームから分離してパッケージ化できます。
  • XFA は、動的に拡大するフォームを指定できます。
  • XFA は、HTTP や WSDL (Web Services Description Language) などの Web 対話を指定できます。このような対話を使用すると、データをサーバーに送信したり、データの計算を実行し、その結果をリターンするようサーバーに要求したりすることができます。
  • XFA は他の XML 文法でも機能します。

これらの情報に基づき、XFA は特性面で Lotus Forms に非常によく似ています。表 1 に、両者の詳細な比較を示します。


表 1. Lotus Forms と XFA の比較
機能リストLotus FormsXFA
要素XFDL (Extensible Forms Description Language) 項目、オプション、およびXForms 項目、オプションXFA 項目およびオプション
動的XForms の繰り返しサブフォームおよびサブフォームのセット
検証テストNull、データ型、データ・パターン、および正規表現のテストNull、データ型、フォーマット、およびスクリプトのテスト
スクリプトXForms 計算および XFDL 計算JavaScript™
データ・インスタンスXML データ・インスタンスまたは XForms データ・インスタンスXFA データ・テンプレート
データ・インスタンスサポートサポート
デジタル署名XFDL デジタル署名XML デジタル署名および PDF デジタル署名
ActiveX Data Object (ADO) APIサポートなしサポート
埋め込みHTML への埋め込みをサポートXDP (XML Data Package)、PDF への埋め込み
レイアウトピクセルまたは相対位置で表された項目の場所オブジェクトのコンテナーでのレイアウト・プロセッサーによる処理
HTML サポートなしHTML フラグメントの埋め込みをサポート

移行プロジェクトの要件

PDF の移行プロジェクトでは、既存の PDF フォームから Lotus Forms への変換が行われます。PDF フォームは、静的または動的のいずれかです。移行を開始する前に、プロジェクトの要件を明確に文書化することが重要です。フォーム開発者が明確な指示に基づいて各項目を処理できるように、この要件で各フォームの要素レベルの詳細を明らかにする必要があります。

通常、要件文書には次の内容が含まれています。

  • 一般的な指示. 移行についての一般的なガイドラインです。移行の範囲、機能リスト、および PDF から変換すべきものと変換すべきではないものを示す明確な要約が含まれます。
  • テンプレート XFDL フォーム. このテンプレート・フォームには、共通スタイルおよび再利用可能なコンポーネント (ツールバー、背景のカラー、印刷設定、ラベルのフォント・サイズとカラー、国と州のリストなど) が含まれます。
  • 各フォームの詳細スプレッドシート. Lotus Forms と PDF では、タイプおよびプロパティーが異なる可能性があるため、変換するフォームごとに、コンテンツおよび PDF と XFDL 間のマッピングを記述したスプレッドシートを用意する必要があります。マッピング情報がないと、フォーム開発者が、適切な項目タイプおよびオプション値を把握できないおそれがあります。表 2 に、スプレッドシートに含める必要がある情報を示します。

表 2. 必須情報のサンプル
列名説明サンプル値
項目名要素ラベルエージェンシー名
タイプ変換後の要素タイプで、PDF と異なる可能性がありますフィールド・チェック・グループ
項目ルール要素データのタイプ整数、1 つの選択肢
フォーマット値のフォーマット (日付または郵便番号など)日付: MM/DD/YYYY
デフォルト値要素はデフォルト値を持つか?デフォルト: 100
必須要素への値の入力は必須か?「はい」または「いいえ」
範囲値の範囲で、通常は数値の範囲に使用されます1 から 100
項目長要素のサイズ20
無効/有効要素の有効/無効を決める機能のロジック最初の質問に「はい」と答えた場合に有効
表示/非表示要素の表示/非表示を決める機能のロジック最初の質問に「はい」と答えた場合に表示
ヘルプ・メッセージ要素のヘルプ・テキストエージェンシー名の入力
SID要素の SIDAgency_Name
データ・インスタンス名要素にバインドされたデータ・インスタンス名Agency_Name
計算要素が他の要素によって計算される場合の式=Month1+Month2
パターンこの要素に適用できる再利用可能なパターン署名ボタン・タイプ 1
その他要素に関する他の情報またはロジックセクション 1 と 2 にのみ適用される署名

移行のステップ

要件を定義して文書化した後は、PDF から Lotus フォームへの実際の移行を実行できます。通常は、次に示す 2 つの主な移行ステップを完了する必要があります。

  1. 変換ツールを使用して、PDF から Lotus Forms へのロー変換 (raw conversion) を自動的に行います。Lotus Forms 変換ツールは、PDF フォームから Lotus Forms への変換に使用できる Lotus Forms Designer プラグインです。このツールを使用することで、移行時の手作業を減らせます。
  2. ロー変換されたデータを手動で更新します。ロー変換されたデータには、レイアウトとロジックだけが含まれています。フォーム開発者は要件スプレッドシートに基づき、フォーム上の各項目をチェックし、Forms Designer で項目を 1 つずつ更新できます。

次の 2 つのセクションで、これらのステップについて詳しく説明します。


Lotus Forms 変換ツール

IBM Lotus Forms 3.0.1 用の変換ツール (Forms Conversion Tool プラグイン) は、事業オーナーおよびフォーム開発者が PDF (Portable Document Format) ファイルおよび FileNet 電子フォームを Lotus Forms に容易に変換できる革新的で使いやすいツールです。このツールは、既存の Lotus Forms の変形にも使用できます。Lotus Forms 3.5 では、Lotus Forms変換ツールは Designer 3.5 の一部として組み込まれています。「リソース」セクションのリンクによって Forms Conversion Tool プラグインまたは Lotus Forms 3.5 試用版をダウンロードし、インストールしてください。

PDF の自動変換

変換ツールのインストール後、「ファイル」->「新規」->「Lotus Forms への変換」をクリックします。図 1 に示すウィンドウが表示されます。


図 1. 最初の「フォームの変換」ウィンドウ

図 1 に示されているのは、変換ツールの変換選択ウィンドウです。変換するファイルを追加するときは、「ファイルの追加」ボタンをクリックします。フォーマット・リストでは、2 つのパーサーである PDF と FileNet を選択できます。PDF 変換には「PDF パーサー」を選択します。プロファイル・リストで pdf_default プロファイルを選択し、「次へ」をクリックします。


図 2. ファイルの場所の選択

図 2 に示されているのは、変換されたファイルの保存場所を選択するウィンドウです。デフォルトの場所は、PDF ファイルと同じフォルダーです。Designer ワークスペース内のフォルダーを選択することもできます。「完了」をクリックすると、PDF が変換されます。図 3 と 4 に、元の PDF フォームと変換後の XFDL フォームを示します。


図 3. 元の PDF フォーム


図 4. 変換されたLotus Formsフォーム

この 2 つの図から、ほとんどのラベルとレイアウトがツールによって変換されていることがわかります。

カスタマイズされた最適化プログラムとルール

デフォルトの変換プロファイルを使用したときに、期待どおりの変換結果を得られないことがときどきあります。カスタマイズした変換ファイルを作成することにより、変換プロセスをより詳細に調整できます。Forms Designer の「ウィンドウ」->「設定」メニューを選択します。次に、「設定」ウィンドウの左側のペインで「フォームの変換およびトランスフォーム・プロファイル」を選択し、「新規」ボタンをクリックします。「プロファイルの編集」ウィンドウが図 5 のように表示されます。


図 5. 「フォーム変換プロファイルの編集」ウィンドウ

このウィンドウを使用して、特定のタイプのファイル用に変換プロファイルをカスタマイズできます。変換プロファイルには、次の内容が含まれています。

  • 変換ルール. ルールは、生成されたフォームの内容をカスタマイズするために使用されます。テンプレート・フォームからのツールバーの追加、要素のフォント、カラー、および境界線の更新、SID 生成ルールの変更、XFDL ソースでの要素の順序変更などが含まれています。
  • XForms の生成. このオプションは、XForms データ・インスタンスにバインドされるコントロールのリストを選択するために使用されます。
  • レイアウト用最適化プログラム. 最適化プログラムには、PDF 要素から XFDL 要素への変換中に調整できるパラメーターが含まれています。たとえば、4 つの行からチェック・ボックスを作成し、ラベルとフィールドを調整するパラメーターなどがあります。最適化プログラムの目的は、PDF 上の静的項目 (ラベル、行) に基づいて新しい対話式項目 (チェック・ボックス、フィールド) をフォーム上に作成し、フォーム上の既存の項目 (ラベルまたはフィールド) を整列することです。

私たちが実行した移行プロジェクトにより、プロファイルの調整方法に関する一般的なガイドラインとして、次のことが得られました。

  • フォームのバッチごとにプロファイルを作成します。フォームの各バッチは、異なるスタイルを持つことができます。バッチごとにプロファイルを作成し、最良の結果を生み出すようパラメーターを調整するとよいでしょう。プロファイルはエクスポートおよびインポートできるため、どのフォーム開発者も同じ変換設定を使用できます。
  • フォームの要件に詳細な XForms ルールが含まれる場合は、XForms インスタンスの生成を無効にするよう提案すべきです。生成されるインスタンス名は SID に基づいており、通常、バックエンドでの処理に適さないからです。
  • ラベル用に十分な長さが設定されず、変換されたフォームで一部のラベルが切り捨てられる場合は、「デフォルトの幅と高さの使用」オプションを有効にします。このルールにより、ラベルの幅と高さが削除され、Lotus Forms ビューアーによって計算されたデフォルトのサイズが使用されます。
  • フォームに生成されるフィールド数があまりにも少ない場合は、「隣接する線/ラベルの結合」オプションを無効にします。線およびラベルを結合すると、最適化プログラム「線またはボックスをフィールドにトランスフォーム」によって生成されるフィールドに影響します。結合により、フォーム上の一部の線およびラベルが削除されるためです。

自動変換後の手動更新

ほとんどの場合、自動的に変換されたフォーム上のデータ・インスタンスは正しく構成されていないため、フォームをそのまま使用することはできません。通常、移行プロジェクトでは、バックエンドの処理フローに送信できる特定のスキーマにデータ・インスタンスを適合させる作業が必要です。

手動更新する項目

手動更新は、自動変換で処理できずに失われた機能を解決するための、移行プロジェクトにおける必須のステップです。手動更新で必要な手順は以下のとおりです。

  1. 文書化されたフォームのスプレッドシートに基づき、詳細なレイアウト、フォーマット、ロジック、および SID を調整します。
  2. ビジネス・ロジックに基づき、XForms データ・インスタンスおよびXForms バインディングを生成します。
  3. 自動変換後、変換されなかった PDF 要素 (認識されなかったカラー・スペースやイメージなど) によって、XFDL 内に XML コメントが作成されます。これらのコメントを解消する、またはコメントに基づいて未変換の項目を更新するには、手動更新が必要です。
  4. 要件に基づき、デジタル署名を更新します。自動変換によって Clickwap 署名だけが生成されることがあります。
  5. 要件に基づき、データ・サブミットを更新します。自動変換は、元の PDF フォーム内ではデータ・サブミットを処理しません。
  6. PDF フォーム内の JavaScript に基づき、ロジックを更新します。自動変換は、JavaScript を XFDL スクリプトに変換しません。
  7. グラフィック要素を更新します。PDF フォームには、ベクトル・イメージ、斜線、曲線などのグラフィック要素が含まれていることがあります。これらの要素は Lotus Forms ではサポートされていません。しかし、PDF フォームからキャプチャーした JPG イメージまたは GIF イメージを使用して、これらの要素を置換できます。

手動の QA チェックリスト

手動更新の後、フォームが生成され、品質保証 (QA) プロセスを実施します。私たちが行った移行プロジェクトから、QA プロセスで強調する必要がある項目をまとめたものを表 3 に示します。


表 3. QA チェックリスト
名前名前
フォントおよびカラーPDF 内のフォントまたはカラーのうち、Lotus Forms で正しく表示されないものがあります。QA プロセスでは、その違いをチェックする必要があります。
レイアウトのチェックLotus Forms ビューアーでのフォームのレイアウトと Webform サーバーでの元の PDF を比較します。ラベルと線に注目してください。たとえば、文字幅は PDF では調整可能ですが、Lotus Forms では固定です。この相違により、ラベルの表示が異なる場合があります。
印刷のチェック変換されたフォームおよび PDF の両方を印刷します。用紙に印刷されたフォームを比較し、相違点がないかチェックします。
データ検証のルールフォームにデータを入力し、PDF と変換後のフォームでデータ検証を比較します。
スクリプトのロジックXFDL および XForms ロジックを PDF 内の JavaScript と比較し、変換後のフォームに正しくインプリメントされているかチェックします。
動的な部分PDF および XFDL のどちらも、動的コンテンツの生成をサポートしています。データ・インスタンスでデータのすべてのセットを生成することにより、動的コンテンツの生成をテストできます。

まとめ

一般に、PDF 移行プロジェクトには、フォームごとに十分に定義された要件、自動化された PDF 変換ツール、および手動更新と QA プロセスがかかわっています。プロセスの一部が自動化され、PDF の知識が必要という点で、Lotus Forms の他のプロジェクト (最初からフォームを新規作成する場合など) とは異なります。Lotus Forms 変換ツールを活用することは、PDF 移行プロジェクトにおける優れた取り組みです。


参考文献

学ぶために

製品や技術を入手するために

議論するために

著者について

Gu Yi は、IBM China Development Lab における IBM Software Services for Lotus (ISSL) Emerging Services Team の Lead Software Engineer です。2005 年から IBM Software Services プロジェクトに取り組み、IBM Lotus Forms を含む複数のサービス・プロジェクトに参加してきました。特に、プロジェクトを合理化し、IBM の製品化機能を高めるサービス資産の作成に重点を置いています。また、IBM WebSphere® Portal に従事した経験が 3 年あり、Java™ 2 Platform、Enterprise Edition 開発の業界で 4 年間の経験があります。連絡先は guyi@cn.ibm.com です。

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Lotus
ArticleID=381406
ArticleTitle=PDF フォームから IBM Lotus Forms への移行
publish-date=04172009
author1-email=guyi@cn.ibm.com
author1-email-cc=

タグ

Help
このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。

スライダーバーを使用することで、より多く(少なく)タグを表示します。

人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。

マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。

このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。