Использование C#/WIA версии 2.0 в Vista для сканирования
Я хочу внедрить систему безбумажной регистрации и хотел использовать WIA с C# для получения изображений. Есть несколько примеров проектов на CodeProject и т. Д. Однако после загрузки каждого из них, который я могу найти, я столкнулся с проблемой.
В каждом из них ссылка на WIALib не работает. Когда я иду, чтобы добавить "Microsoft Windows Image Acquisition" в качестве ссылки, единственная версия, доступная на моей рабочей станции разработки (также машина, которая будет выполнять это), является 2.0.
К сожалению, каждый из этих примеров проектов, по-видимому, был закодирован против 1.x. Ссылка идет как "WIA" вместо "WIALib". Я сделал снимок, просто изменив импорт пространства имен, но очевидно, что API резко отличается.
Есть ли какая-либо информация о реализации v2.0 или об обновлении одного из этих существующих примеров проектов?
5 ответов
Чтобы получить доступ к 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)
Это основной способ, работает с моим планшетным / док-фидером. Если вам нужно более одного документа / страницы за раз, возможно, есть лучший способ сделать это (из того, что я мог видеть, это обрабатывает только одно изображение за раз, хотя я не совсем уверен). Хотя это документ WIA v1, статья Скотта Хансельмана о CIA4Fun на WIA содержит больше информации о том, как сделать это на нескольких страницах, я думаю (я сам еще не пошел дальше, чем это)
Если это для безбумажной офисной системы, вы можете также проверить MODI (Office Document Imaging), чтобы сделать все OCR для вас.
Обновление: я добавляю это отдельно, так как это другой ответ (год спустя). Я узнал, что в XP есть WIA 1.0, а в Vista - WIA2.0. Однако вы можете установить WIA 2.0 для Windows XP Sp1+ здесь.
Затем я также сделал небольшую библиотеку с кодом, который я нашел где-то здесь, во внутренней сети, он также может сканировать несколько страниц: http://adfwia.codeplex.com/
Вот как нацеливаться на WIA 1.0, чтобы вы могли отправить свое приложение на Windows Xp. Что-то, что я отчаянно искал!! Как разработать с использованием WIA 1 под Vista?
Еще одно примечание: вам нужно скачать WIA 2.0 dll с Microsoft.com, а затем перейти к dll и добавить его в свой проект.
Это не должно быть WIA. В основном я смотрел на настройку WIA, потому что она предлагает один и тот же базовый интерфейс для разных сканеров. У меня есть 3 сканера на этой машине и драйверы / программное обеспечение TWAIN для всех они отстой (например, блокировка экрана во время сканирования).
Для управления документооборотом я действительно ищу простое сканирование в оттенках серого с разрешением 200 точек на дюйм, поэтому большая часть драйверов TWAIN излишня.
Тем не менее, задание здесь было частью моей последней попытки выяснить, как это сделать в WIA перед тем, как перейти к TWAIN.