LEADTOOLS WIA(Leadtools.Wiaアセンブリ)

フレームを表示

AcquireToFileメソッド






アプリケーションウィンドウのウィンドウハンドル。

このパラメーターが、スキャナー装置から取得している、そして、ShowUserInterfaceフラグが設定されないならば、使われるだけです。スキャナの給紙口(フィーダーまたはフラットベッド)を指定するために、このパラメーターを使います。

根本の項目のために、または、利用できるスキャナ項目を列挙して、目的のスキャナ項目を渡すことによってWiaPropertyId.ScannerDeviceDocumentHandlingSelect属性値を変更することによって給紙口を変更することができるためWIA 1.0を使っているならば、このフラグはオプションです。

WIA 2.0を使っている場合、利用可能なスキャナ項目を列挙して任意のスキャナ項目を渡します。または、Null (Visual BasicではNothing)を渡します。どちらの場合も、列挙は内部で実行され、最初に列挙された項目がソース項目として使われます。

WIA画像獲得選択ダイアログボックスの特定の動作を決定するフラグ。設定可能な値は、以下の通りです。

意味

WiaAcquireFlags.None デバイス画像獲得ダイアログボックスのためのデフォルト動作。
WiaAcquireFlags.SingleImage デバイス画像獲得ダイアログボックスでimage選択を単一のimageに制限します。WIAバージョン2.0を使っているならば、このフラグは利用できません。
WiaAcquireFlags.ShowUserInterface メーカーの画像獲得ダイアログボックスを示します。
WiaAcquireFlags.UseCommonUI 利用可能な場合、ベンダーが提供するユーザーインターフェース(UI)でなく、システムユーザーインターフェースを使用します。システムUIが利用できないならば、ベンダーUIが使われます。
ファイルに直接WIAソースから一つ以上のイメージを取得します。
構文
public DialogResult AcquireToFile( 
   IntPtr owner,
   object item,
   WiaAcquireFlags flags
)
'Declaration
 
Public Function AcquireToFile( _
   ByVal owner As IntPtr, _
   ByVal item As Object, _
   ByVal flags As WiaAcquireFlags _
) As DialogResult
'Usage
 
Dim instance As WiaSession
Dim owner As IntPtr
Dim item As Object
Dim flags As WiaAcquireFlags
Dim value As DialogResult
 
value = instance.AcquireToFile(owner, item, flags)

            

            
public:
DialogResult AcquireToFile( 
   IntPtr owner,
   Object^ item,
   WiaAcquireFlags flags
) 

パラメーター

オーナー
アプリケーションウィンドウのウィンドウハンドル。
項目

このパラメーターが、スキャナー装置から取得している、そして、ShowUserInterfaceフラグが設定されないならば、使われるだけです。スキャナの給紙口(フィーダーまたはフラットベッド)を指定するために、このパラメーターを使います。

根本の項目のために、または、利用できるスキャナ項目を列挙して、目的のスキャナ項目を渡すことによってWiaPropertyId.ScannerDeviceDocumentHandlingSelect属性値を変更することによって給紙口を変更することができるためWIA 1.0を使っているならば、このフラグはオプションです。

WIA 2.0を使っている場合、利用可能なスキャナ項目を列挙して任意のスキャナ項目を渡します。または、Null (Visual BasicではNothing)を渡します。どちらの場合も、列挙は内部で実行され、最初に列挙された項目がソース項目として使われます。

フラグ
WIA画像獲得選択ダイアログボックスの特定の動作を決定するフラグ。設定可能な値は、以下の通りです。

意味

WiaAcquireFlags.None デバイス画像獲得ダイアログボックスのためのデフォルト動作。
WiaAcquireFlags.SingleImage デバイス画像獲得ダイアログボックスでimage選択を単一のimageに制限します。WIAバージョン2.0を使っているならば、このフラグは利用できません。
WiaAcquireFlags.ShowUserInterface メーカーの画像獲得ダイアログボックスを示します。
WiaAcquireFlags.UseCommonUI 利用可能な場合、ベンダーが提供するユーザーインターフェース(UI)でなく、システムユーザーインターフェースを使用します。システムUIが利用できないならば、ベンダーUIが使われます。

戻り値

DialogResult値の1つ。エラーが発生するならば、例外はスローされます。
解説

この関数は選択したWIAデバイスから単一であるか複数のイメージを取得して、ファイルに直接保存します。

WiaSession.Startupを呼び出し、その後、この関数を呼び出す前に、いずれかのWiaSession.SelectDeviceDlgまたはWiaSession.SelectDevice関数を呼び出します。

WIAソースから取得しながら他のオプションとともに、保存されたファイル名とパスを制御するためにこのメソッドを呼び出す前に、AcquireOptionsプロパティメンバを変更します。

イベントがプロセスを保存しているファイルの保存されたファイルパスと名前とパーセント完了を提供するだけであるため、いつの演奏ファイルがそれを転送するかはAcquireEventイベントを追加するためにオプションです。

WiaSessionクラスの範囲内の2つのプロパティは、この関数を使うとき、利用できるようになります:

収集操作をキャンセルするために、AcquireEventイベントを追加して、WiaAcquireEventArgsキャンセルメンバをtrueに設定します。

注意:

ShowUserInterfaceフラグが収集メソッドのいずれかのために設定されるならば、以前に設定された/変更されたユーザープロパティ(SetPropertyXxxまたはSetPropertiesメソッドのどれでも使う)のいくらかがMicrosoftの画像獲得ダイアログボックスで上書きされるのでご了承ください。Microsoftの画像獲得ダイアログボックスは、現在の意図(image型)、選択領域(left、上、幅と高さ)、給紙口とデュプレックスモードのようなそれ自身の初期化プロパティを設定します、 ...その他。

メーカーの画像獲得ダイアログを押して、SetPropertyXxxとSetPropertiesメソッドを通して設定される値を用いて、指定されたソース項目から項目パラメーターまで直接取得するために、ShowUserInterfaceフラグを設定しません。

注意: Windows VISTA 64ビットの上でこの関数を呼び出すWin32バージョンアプリケーションを実行している間、FilesCountFilesPathsプロパティが必要情報で更新されないことがわかりました。これは、MicrosoftのWIAツールキットの既知の制限です。
注意: ShowUserInterfaceフラグが設定される間WIA 2.0を使っているならば、AcquireEventイベントを追加することが必要でありません。MicrosoftのWIA 2.0収集ダイアログは、イベントを提供しないで、処理の全てを実行して、FilesCountFilesPathsプロパティを通してパスとともに保存されたファイルの数で返ります。

詳細については、「WIAソースから取得する方法」を参照してください。

サンプル
Copy Code  
Imports Leadtools
      Imports Leadtools.Codecs
      Imports Leadtools.Wia

      <TestMethod()> _
#If Not LEADTOOLS_V19_OR_LATER Then
      Public Sub AcquireToFileExample(ByVal parent As IWin32Window)
#Else
      Public Sub AcquireToFileExample(ByVal parent As IntPtr)
#End If ' #If LEADTOOLS_V19_OR_LATER Then
         If (Not WiaSession.IsAvailable(WiaVersion.Version1)) Then
            MessageBox.Show("WIA version 1.0 not installed.")
            Return
         End If
         Dim session As WiaSession = New WiaSession()
         session.Startup(WiaVersion.Version1)

         Dim res As DialogResult = session.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault)
         If res <> DialogResult.OK Then
            MessageBox.Show("Error selecting WIA device.")
            session.Shutdown()
            Return
         End If

         ' Initialize and fill the required fields from the WiaAcquireOptions structure
         Dim wiaAcquireOptions As WiaAcquireOptions = wiaAcquireOptions.Empty
         wiaAcquireOptions.FileName = Path.Combine(LEAD_VARS.ImagesDir, "WiaTest.bmp")
         wiaAcquireOptions.OverwriteExisting = True
         wiaAcquireOptions.Append = False
         wiaAcquireOptions.SaveToOneFile = False
         session.AcquireOptions = wiaAcquireOptions

         AddHandler session.AcquireFileEvent, AddressOf session_AcquireFileEvent

         session.AcquireToFile(parent, Nothing, WiaAcquireFlags.ShowUserInterface Or WiaAcquireFlags.UseCommonUI)

         ' Display listing of all paths and filenames for the saved files(s).
         If session.FilesCount > 0 Then
            Dim strMsg As String = "Acquired page(s) were saved to:" & Constants.vbLf + Constants.vbLf
            Dim i As Integer = 0
            Do While i < session.FilesCount
               Dim strTemp As String = String.Format("{0}" & Constants.vbLf, session.FilesPaths(i))
               strMsg &= strTemp
               i += 1
            Loop
            MessageBox.Show(strMsg)
         End If

         RemoveHandler session.AcquireFileEvent, AddressOf session_AcquireFileEvent
         session.Shutdown()
      End Sub

      Public Sub session_AcquireFileEvent(ByVal sender As Object, ByVal e As WiaAcquireFileEventArgs)
         Console.WriteLine(e.Percent)
      End Sub


      Public NotInheritable Class LEAD_VARS
      Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
      End Class
using Leadtools;
      using Leadtools.Codecs;
      using Leadtools.Wia;

      [TestMethod]
#if !LEADTOOLS_V19_OR_LATER
      public void AcquireToFileExample(IWin32Window parent)
#else
      public void AcquireToFileExample(IntPtr parent)
#endif // #if !LEADTOOLS_V19_OR_LATER
      {
         if (!WiaSession.IsAvailable(WiaVersion.Version1))
         {
            MessageBox.Show("WIA version 1.0 not installed.");
            return;
         }
         WiaSession wiaSession = new WiaSession();
         wiaSession.Startup(WiaVersion.Version1);

         DialogResult res = wiaSession.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault);
         if (res != DialogResult.OK)
         {
            MessageBox.Show("Error selecting WIA device.");
            wiaSession.Shutdown();
            return;
         }

         // Initialize and fill the required fields from the WiaAcquireOptions structure
         WiaAcquireOptions wiaAcquireOptions = WiaAcquireOptions.Empty;
         wiaAcquireOptions.FileName = Path.Combine(LEAD_VARS.ImagesDir, "WiaTest.bmp");
         wiaAcquireOptions.OverwriteExisting = true;
         wiaAcquireOptions.Append = false;
         wiaAcquireOptions.SaveToOneFile = false;
         wiaSession.AcquireOptions = wiaAcquireOptions;

         wiaSession.AcquireFileEvent += new EventHandler<WiaAcquireFileEventArgs>(wiaSession_AcquireFileEvent);

         wiaSession.AcquireToFile(parent, null, WiaAcquireFlags.ShowUserInterface | WiaAcquireFlags.UseCommonUI);

         // Display a listing of all paths and filenames for the saved files(s).
         if(wiaSession.FilesCount > 0)
         {
            string strMsg = "Acquired page(s) were saved to:\n\n";
            for (int i = 0; i < wiaSession.FilesCount; i++)
            {
               string strTemp = string.Format("{0}\n", wiaSession.FilesPaths[i]);
               strMsg += strTemp;
            }
            MessageBox.Show(strMsg);
         }

         wiaSession.AcquireFileEvent -= new EventHandler<WiaAcquireFileEventArgs>(wiaSession_AcquireFileEvent);
         wiaSession.Shutdown();
      }

      public void wiaSession_AcquireFileEvent(object sender, WiaAcquireFileEventArgs e)
      {
         Console.WriteLine(e.Percent);
      }


      static class LEAD_VARS
      {
      public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
      }
必要条件

ターゲットプラットホーム

参照

参照

WiaSessionクラス
WiaSessionメンバ
Startupメソッド
Shutdownメソッド
SelectDeviceメソッド
SelectDeviceDlgメソッド
Acquireメソッド
AcquireSimpleメソッド
AcquireOptionsプロパティ
FilesCountプロパティ
FilesPathsプロパティ
GetPropertiesメソッド
SetPropertiesメソッド