Использование С#/WIA версии 2.0 для Vista для сканирования
Я хочу внедрить систему безбумажной подачи и хотел использовать WIA с С# для получения изображения. Существует много примеров проектов CodeProject и т.д. Однако после загрузки каждого из них, который я могу найти, у меня возникла проблема.
В каждом из них ссылка на WIALib нарушена. Когда я перехожу к добавлению "Microsoft Windows Image Acquisition" в качестве ссылки, единственная версия, доступная на моей рабочей станции разработки (также машина, которая будет запускать ее), равна 2.0.
К сожалению, каждый из этих образцов проектов, по-видимому, был закодирован против 1.x. Ссылка используется как "WIA" вместо "WIALib". Я сделал снимок, просто изменив импорт пространства имен, но, очевидно, API сильно отличается.
Есть ли какая-либо информация о реализации v2.0 или об обновлении одного из этих существующих образцов проектов?
Ответы
Ответ 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 для вас.
Ответ 2
Вот как настроить WIA 1.0 так, чтобы вы могли отправить свое приложение в Windows Xp. Что-то я отчаянно искал!!
Как использовать WIA 1 под Vista?
Ответ 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 и добавить его в свой проект.