既存の業務システム&ワークフローに電子文書化ソリューションを組み込める「CapturePerfect SDK」:プログラミング編(3/5 ページ)
キヤノン製ドキュメントスキャナDRシリーズの最大の特長は、自社の業務システムからDRシリーズの全機能を自在に制御・活用できるようにするソフトウェア開発キット「CapturePerfect SDK」が提供されている点だ。今回は同キットにフォーカスし、どこまで簡単にDR-5010Cを活用できるかを探ってみたい。
スキャナの選択・設定
メインフォームに定義されているメニューをクリックすることで呼び出されるルーチンに、スキャナの選択および設定のコードがある。mnuScanSelectScanner_Clickはスキャナのセレクトルーチンを、mnuScanSetScanner_Clickはセットルーチンを呼び出す。
たとえばスキャナ選択の処理は
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
となっており、イニシャライズの時とほぼ共通のコードでいい。スキャナをセットしなおすことに成功したならば、ドライバのパラメータを初期状態にセットしなおす。
この処理に限らず、サンプルプログラムはメニューから機能を呼び出す形式でプログラムされているため、メニューのクリックイベントに対する処理コードを見れば、各APIを呼び出す際の作法が簡単に見つかるはずだ。
スキャンパラメータのセット
実は、先ほどから登場している「LoadDriver」ルーチンの中で、すでにスキャンパラメータの設定が行われている。初期化ルーチンの冒頭でいくつかのパラメータ規定値が代入されていたが、その内容をそのままドライバにセットしている。
CappeAPI.basの中で宣言されている構造体がパラメータの正体。API呼び出し部では、この構造体へのポインタを引き渡す。以下は構造体の宣言部だ。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
各値の詳細解説はドキュメントに譲るが、ここではパラメータを単純に引き渡しているだけに見えるものの、実際にはもう少し複雑な意味がある。構造体に収めた値に従ってスキャンパラメータの設定APIはさまざまな振る舞いをし、ユーザーインタフェースを(API自身が)表示してパラメータ設定をユーザーに促すといったことも可能になっている。もちろん、その際のダイアログデザインなどは不要。CapturePerfect 3.0と同様の設定ダイアログがSDKのライブラリによって表示される。
ただし上記パラメータは、あくまでもドライバの基本パラメータでしかない。では詳細なスキャン処理の指示パラメータ、たとえば文書の回転や斜め補正、あるいは出力ファイルタイプや各種ファイルの属性などは、どのようにして指示するのだろうか。
見ての通り、APIに対する引数はなく、ドライバ設定の構造体にもすべての設定パラメータがあるわけではない。そこでCapturePerfect SDKでは、2つの方法で具体的なスキャン指示を行う。
1つはprofileファイルというテキストファイルで指定する方法。もう1つはパラメータ設定関数を呼び出して指定する方法だ。
前者はあらかじめ決まったスキャンジョブの指示を行う定型処理のアプリケーションで使いやすい方法だ。特定の位置にあるprofileファイルを指示しておき、その位置に以下のようなテキストファイルを置いておけばいい。そしてインストール先に応じてテキストファイルの内容を変える。ユーザーが設定を誤って変更することがなく、プログラミングの負担も軽減できる。
例
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
提供:キヤノンマーケティングジャパン 株式会社
制作:ITmedia +D 編集部/掲載内容有効期限:2006年6月19日
Copyright © ITmedia, Inc. All Rights Reserved.