Home XML/FrameMaker FileMaker SI会社様へ 事例ご紹介 企業情報 お問い合わせ Twitter
【XML/FrameMaker事例】
FrameMakerプラグイン開発
◎背景

アドビシステムズ社FrameMakerは、WYSIWYGWhat You See Is What You Get)なSGML/XMLエディタであり、各種文書を作成するのに適したソフトウェアです。
Adobe製ということもあり、PDFとしての出力もでき、SVG形式の画像ファイルも文書内に貼り付ける事ができます。

しかし、構造化データ(SGML/XML)を簡単に入出力できるまでには、それなりの準備(EDD、テンプレート、Read/Writeルール等の知識)が必要になります。

↑ ページ先頭へ

◎開発要求

当社が積み重ねてきた、構造化データや文書コンバータ、FrameMakerへのノウハウを活かし、下記の要求を満たすプラグインの開発を行いました。

  • 定型的な社内文書や社外文書の作成作業を簡略化したい
  • 誰が作成しても統一した品質(レイアウト)の文書を作成できる
  • 以前に作成した文書の一部分を流用したい
  • 作成した文書はWebでも公開出来る状態にしておきたい
  • 1つのSGML/XMLデータを、異なる複数のレイアウトで表示/印刷したい
  • 指定ワープロの異なる他部門/他企業と文書をやり取りしたい

↑ ページ先頭へ

◎FrameMakerでの構造化データの取り扱い

SGML/XMLをFrameMakerで扱うためには、まずアプリケーション定義を宣言します。

インポート
インポート図
エクスポート
エクスポート図

要素単位にスタイル付けを行ったり、不要な要素を隠したり、という指示を行い、努力と時間を費やせばゴールは見えてきます。
しかし、FrameMakerでは、データの流れ込み順でレイアウトをするため、構造順を変えなければならない場合があります。SGML/XMLをFrameMakerで開いた後、構造順を変えるのも良いでしょう。
しかし、ページ数の多い文書では、その作業も大変な時間がかかります。

そんな時は、FDK(Frame Developer's Kit)を使ったAPIClientを用意する事により、SGML/XMLを開いた時点で、期待する構造&レイアウト(自動組版)が手に入れられるのです。

↑ ページ先頭へ

◎開発作業

開発の手順は以下の通りです。

  1. DTDDocument Type Definition)およびSGML/XMLインスタンス、実レイアウト(印刷物等)を分析し、FDKを使ったプログラミングが必要かどうか判断
  2. アプリケーション定義に必要なファイルの洗い出しおよび作成
  3. 要素の入れ替え等データインポート、エクスポート時に各種処理を行うAPIClient(DLL)の作成
  4. 必要であれば、ユーザ補助のカスタマイズメニュー(DLL)作成

↑ ページ先頭へ

実装例(1) APIClient【要素順の入れ替え】

画面に対する説明文(Caption)の次に画面の画像ファイルをレイアウトしたいが、データは以下のようになっている場合

 <Figure>
  <Title>タイトル画面</Title>
  <Graphic file="logo.gif">
  <Caption>アプリケーションが起動されると…</Caption>
 </Figure>

APIClient適用前
入れ替え

クリックすると、拡大図が表示されます。

APIClient適用後
入れ替え

クリックすると、拡大図が表示されます。

↑ ページ先頭へ

実装例(2) APIClient【表の生成】

表としてレイアウトしたいが、データは以下のようになっている場合

 <List>
  <ListHead><ListListPara>キー操作</ListPara><ListPara>機能</ListPara></ListHead>
  <ListBody>
   <ListPara>ソフトキー1</ListPara><ListPara>Mona Lisaアプリケーションが…</ListPara>
   <ListPara>ソフトキー2</ListPara><ListPara>処理オプション設定…</ListPara>
   <ListPara>選択キー</ListPara><ListPara>処理対象画像ファイル…</ListPara>
  </ListBody>
 </List>

APIClient適用前
表生成

クリックすると、拡大図が表示されます。

APIClient適用後
表生成

クリックすると、拡大図が表示されます。

↑ ページ先頭へ

実装例(3) カスタマイズメニュー【グラフィック操作補助】

文書内に貼り付けられている全グラフィックに対して、一括で操作を行う機能を提供します。

※「Client Tool」というメニューをFrameMakerのメニューバーへ追加

メニュー

クリックすると、拡大図が表示されます。

  • 「Search Graphics」
    参照しているファイルのパスをダイアログにて表示します。
  • 「.gif → .tif」
    拡張子 .gif を .tif へ一括変換します。
  • 「.tif → .gif」
    拡張子 .tif を .gif へ一括変換します。
実行例:「Search Graphics」
メニュー

クリックすると、拡大図が表示されます。

↑ ページ先頭へ

実装例(4) カスタマイズメニュー【CSVファイル取り込み】

CSV(カンマ区切り)ファイルを文書内に表として取り込む操作の補助機能を提供します。

通常の手順は以下のようになります。

  • 取り込むファイルを選択
  • ファイル形式を選択
  • テキストファイル取り込み時の情報(「表へ変換」を選択)を指定
  • 表へ変換する際の条件(適用する表書式の選択、セルの区切り条件の選択)を指定
メニュー

クリックすると、拡大図が表示されます。

これに対して、カスタマイズでは、以下のようになります。

  • 取り込むファイルを選択
    ※一覧表示の際に、拡張子".csv"で絞り込む
  • 表へ変換する際の条件(適用する表書式の選択、セルの区切り条件の選択)を指定
メニュー

クリックすると、拡大図が表示されます。

固定で処理できる部分(例えば、テキスト形式や表へ変換の指定)を省略して、手順を簡略化します。

↑ ページ先頭へ

実績
分析、アプリケーション定義の作成 : 1〜2ヶ月
DTDの分析、文書のレイアウト要求(印刷物等)を分析しながら、アプリケーション定義に必要な各種ファイルの準備とプログラミングが必要な部分を洗い出します。
いかに、プログラミングが必要な部分を抑えつつ要求を満たしていくか、その判断が重要になります。
DLL(APIClient、メニュー)作成 : 2〜3ヶ月
DLL開発には、FDK推奨のMicrosoft Visual C++を使っています。
同時に、ソースのバージョン管理にMicrosoft Visual SourceSafeおよびCVSConcurrent Versions System)を併用し、グループ作業による開発効率を上げています。

参考例として上記(1)〜(4)のパターンをあげましたが、他にも様々な操作を行っています。
要求仕様により作業工数は変動しますが、お客様に充分満足いただけるものを、自信をもって提供しています。

↑ ページ先頭へ

◎あとがき

当社では、FrameMaker+SGML5.5.3から最新のFrameMaker9まで、お客様のニーズに合わせて柔軟な対応が可能です。
構造化文書に限らず、非構造化文書に対する様々な操作の自動化や変換表(非構造化文書→構造化文書)の作成、英語OS版、中国語OS版など、各国語対応の様々なノウハウも蓄積しています。

社内文書等の執筆にFrameMakerを使用している、もしくは使用を検討している方、是非、当社にご相談下さい。

↑ ページ先頭へ

Copyright © 2002-2016 Asahi Project, Inc. All rights reserved.

HomeXML/FrameMakerFileMakerSI会社様へ事例ご紹介企業情報お問い合わせサイトマップ

Twitter

◇当サイトのコンテンツ内に記載している企業名、製品名、ブランド名、ロゴマークなどは、一般に各社の商標または登録商標です。
◇当サイトの全てのコンテンツ(記事・情報・画像・プログラム等)の無断複写・転載を禁じます。