Подтвердить что ты не робот

Использование С#/WIA версии 2.0 для Vista для сканирования

Я хочу внедрить систему безбумажной подачи и хотел использовать WIA с С# для получения изображения. Существует много примеров проектов CodeProject и т.д. Однако после загрузки каждого из них, который я могу найти, у меня возникла проблема.

В каждом из них ссылка на WIALib нарушена. Когда я перехожу к добавлению "Microsoft Windows Image Acquisition" в качестве ссылки, единственная версия, доступная на моей рабочей станции разработки (также машина, которая будет запускать ее), равна 2.0.

К сожалению, каждый из этих образцов проектов, по-видимому, был закодирован против 1.x. Ссылка используется как "WIA" вместо "WIALib". Я сделал снимок, просто изменив импорт пространства имен, но, очевидно, API сильно отличается.

Есть ли какая-либо информация о реализации v2.0 или об обновлении одного из этих существующих образцов проектов?

4b9b3361

Ответ 1

Чтобы получить доступ к WIA, вам нужно добавить ссылку на библиотеку COM "Библиотека Windows 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)

Это основной способ, работает с моим фидером. Если вам требуется более одного документа/страницы за один раз, возможно, есть лучший способ сделать это (из того, что я мог видеть, это только обрабатывает одно изображение за раз, хотя я не совсем уверен). Хотя это документ WIA v1, Scott Hanselman статья Coding4Fun об WIA содержит некоторую дополнительную информацию о том, как это сделать для нескольких страниц, я думаю ( Я еще должен пойти дальше этого)

Если это для безбумажной офисной системы, вы можете также проверить MODI (Office Document Imaging), чтобы сделать все OCR для вас.

Ответ 3

Обновление. Я добавляю это отдельно, так как его другой ответ (год спустя). Я узнал, что XP имеет WIA 1.0, а Vista - WIA2.0. Однако вы можете установить WIA 2.0 для Windows XP Sp1 + из здесь.

Затем я также создал небольшую библиотеку с кодом, который я нашел где-то в interweb здесь, он также имеет возможность сканировать несколько страниц: http://adfwia.codeplex.com/

Ответ 4

Не требуется для WIA. В основном я смотрел настройку WIA, потому что он предлагает тот же базовый интерфейс для разных сканеров. У меня есть 3 сканера на этой машине и драйверы/программное обеспечение TWAIN для всех из них (например, блокировка экрана во время сканирования).

Для управления документами я действительно ищу простую сканирование в шкале серого с разрешением 200 точек на дюйм, поэтому большая часть материала в драйверах TWAIN является излишним.

Тем не менее, спрашивая здесь, я был частью моей последней попытки выяснить, как это сделать в WIA, прежде чем переходить к TWAIN.

Ответ 5

Еще одно примечание: вам нужно загрузить dll WIA 2.0 с Microsoft.com, а затем перейти к DLL и добавить его в свой проект.