WIA にアクセスするには、COM ライブラリ "Microsoft Windows Image Acquisition Library v2.0" (wiaaut.dll) への参照を追加する必要があります。「WIAを使用する」を追加します。
const string wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}";
CommonDialogClass wiaDiag = new CommonDialogClass();
WIA.ImageFile wiaImage = null;
wiaImage = wiaDiag.ShowAcquireImage(
WiaDeviceType.UnspecifiedDeviceType,
WiaImageIntent.GrayscaleIntent,
WiaImageBias.MaximizeQuality,
wiaFormatJPEG, true, true, false);
WIA.Vector vector = wiaImage.FileData;
(System.Drawing)
Image i = Image.FromStream(new MemoryStream((byte[])vector.get_BinaryData()));
i.Save(filename)
これは基本的な方法で、私のフラットベッド/ドキュメント フィーダーで動作します。ただし、一度に複数のドキュメント/ページが必要な場合は、おそらくより良い方法があります (私が見る限り、これは一度に 1 つの画像しか処理しませんが、完全にはわかりません)。これは WIA v1 のドキュメントですが、WIA に関する Scott Hanselman のCoding4Fun の記事には、複数のページでそれを行う方法に関する詳細情報が含まれていると思います (私自身はまだそれ以上のことは行っていません)。
ペーパーレス オフィス システムの場合は、MODI (Office Document Imaging) もチェックして、すべての OCR を実行することをお勧めします。