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