Использование COM-объектов с WIA и com4j в Java - PullRequest
4 голосов
/ 06 сентября 2010

Я новичок в этом, и я хотел спросить, не могли бы вы порекомендовать мне несколько статей, примеров и т. Д., Чтобы начать общение со сканером в Java-приложенииЯ разрабатываю модуль, который должен взаимодействовать с различными сканерами, подключенными напрямую или в локальной сети ... Я хотел бы, чтобы WIA начала с com4j ..Спасибо всем за советы:)

Редактировать: я пришел к некоторым сведениям в этом Com4j учебнике , что мне нужно сгенерировать некоторые определения java-типов из файла ocx.
Если яЯ понял, что эти сгенерированные классы будут моим клиентом для получения сканера с использованием com4j.Но какой файл ocx / dll я должен использовать?
У кого-нибудь есть идеи?

Обновление 1: , поэтому мне удалось получить библиотеку для генерации классов-оболочек, это был wiaaut.dll (Windows Auto Acquisition Automation Library), а затем через ClassFactory я создал экземпляр DeviceManager, но в нем нет устройств ...
Как мне заставить deviceManager видеть сканер в локальной сети?

Обновление 2: так что я обнаружил, что мой HP LaserJet 2840 не может сканировать через сеть в win7 64 бит ... Теперь на этот вопрос дан ответ, я должен опубликовать ответ сам и установитьэто принять, или закрыть этот Q по-другому?спасибо

1 Ответ

9 голосов
/ 22 ноября 2010

Итак, мой HP LaserJet 2840 не может сканировать через сеть в win7 64 бит

, но шаги для использования таких объектов, как сканеры или цифровые камеры в java:

  1. загрузкаи установите oleviewer из MS Download center и в категории Type Libraries найдите Microsoft Windows Image Acquisition Library или что-то подобное и скопируйте расположение файла (это должен быть каталог System32)
  2. затем загрузите их файл jar com4j с веб-сайта com4j и используйте tlbimp.jar, как показано здесь .Он будет генерировать объекты для вас, и теперь просто используйте ClassFactory, чтобы создать объект для обработки com-объектов, и продолжайте экспериментировать;)

PS: возможно, теперь это легко, но у меня былотяжелые времена, чтобы выучить это:)

...