既存の業務システム&ワークフローに電子文書化ソリューションを組み込める「CapturePerfect SDK」プログラミング編(3/5 ページ)

» 2006年05月17日 00時00分 公開
[本田雅一,ITmedia]
PR

スキャナの選択・設定


 メインフォームに定義されているメニューをクリックすることで呼び出されるルーチンに、スキャナの選択および設定のコードがある。mnuScanSelectScanner_Clickはスキャナのセレクトルーチンを、mnuScanSetScanner_Clickはセットルーチンを呼び出す。

 たとえばスキャナ選択の処理は

Private Sub mnuScanSelectScanner_Click()
    Dim rtn As Long
    rtn = ShowErrorMessage(CPAPISelectScanner())
    If rtn = CPAPI_ERROR_SUCCESS Then
        rtn = LoadDriver()
    End If
End Sub

 となっており、イニシャライズの時とほぼ共通のコードでいい。スキャナをセットしなおすことに成功したならば、ドライバのパラメータを初期状態にセットしなおす。

 この処理に限らず、サンプルプログラムはメニューから機能を呼び出す形式でプログラムされているため、メニューのクリックイベントに対する処理コードを見れば、各APIを呼び出す際の作法が簡単に見つかるはずだ。

スキャンパラメータのセット


 実は、先ほどから登場している「LoadDriver」ルーチンの中で、すでにスキャンパラメータの設定が行われている。初期化ルーチンの冒頭でいくつかのパラメータ規定値が代入されていたが、その内容をそのままドライバにセットしている。

 CappeAPI.basの中で宣言されている構造体がパラメータの正体。API呼び出し部では、この構造体へのポインタを引き渡す。以下は構造体の宣言部だ。

Type CPAPISCANINFO
    dwSize As Long
    bOverWrite As Long
    bScanContinue As Long
    bShowDriver As Long
    nStartPage As Long
    lpszProfile As Long
    lpszUserPassword As Long
    lpszOwnerPassword As Long
    dwAuthorityFlags As Long
    dwCallbackFunc As Long
    dwParam1 As Long
    lMaxScanPages As Long
End Type

 各値の詳細解説はドキュメントに譲るが、ここではパラメータを単純に引き渡しているだけに見えるものの、実際にはもう少し複雑な意味がある。構造体に収めた値に従ってスキャンパラメータの設定APIはさまざまな振る舞いをし、ユーザーインタフェースを(API自身が)表示してパラメータ設定をユーザーに促すといったことも可能になっている。もちろん、その際のダイアログデザインなどは不要。CapturePerfect 3.0と同様の設定ダイアログがSDKのライブラリによって表示される。

 ただし上記パラメータは、あくまでもドライバの基本パラメータでしかない。では詳細なスキャン処理の指示パラメータ、たとえば文書の回転や斜め補正、あるいは出力ファイルタイプや各種ファイルの属性などは、どのようにして指示するのだろうか。

 見ての通り、APIに対する引数はなく、ドライバ設定の構造体にもすべての設定パラメータがあるわけではない。そこでCapturePerfect SDKでは、2つの方法で具体的なスキャン指示を行う。

 1つはprofileファイルというテキストファイルで指定する方法。もう1つはパラメータ設定関数を呼び出して指定する方法だ。

 前者はあらかじめ決まったスキャンジョブの指示を行う定型処理のアプリケーションで使いやすい方法だ。特定の位置にあるprofileファイルを指示しておき、その位置に以下のようなテキストファイルを置いておけばいい。そしてインストール先に応じてテキストファイルの内容を変える。ユーザーが設定を誤って変更することがなく、プログラミングの負担も軽減できる。


[DR5010C]
ScanFile_FileName=C:\sample.tif
ScanFile_FileFormatIndex=0
ScanFile_BatchIndex=0
ScanFile_ScannerSetting=C:\Documents and Settings\64777\Application Data\Canon Electronics\Cappe3
\\C gomi myprofile.txt.dat
ScanFile_MultiPage=0
ScanFile_PagesPerFile=2
Bunkatsu_Enable=0
Bunkatsu_Type=0
Jpeg_Option=60
Jpeg_QType=1
Jpeg_Quality=75

Copyright © ITmedia, Inc. All Rights Reserved.


提供:キヤノンマーケティングジャパン 株式会社
制作:ITmedia +D 編集部/掲載内容有効期限:2006年6月19日