2010-10-28 3 views
4

В настоящее время я работаю над проектом, где мы хотим взаимодействовать с TWAIN-сканерами как на ПК (Windows), так и на Macintosh.Каково состояние TWAIN на Macintosh сегодня?

В Windows у нас в основном есть все в квадрате, и код успешно работает с подавляющим большинством сканеров.

В Mac OS X у нас также есть все, что работает, и с основным сканером, который мы использовали для разработки приложения с работами отлично, но у нас нет большой удачи с другими сканерами. Будучи побочным продуктом разработки по этому проекту, у нас есть множество сканеров от разных производителей, с которыми можно провести испытания. Результаты сильно различаются:

  • Сканер, который мы использовали для разработки, отлично работает на Mac OS X, как в Windows. По иронии судьбы, этот сканер - самый дешевый и crappiest сканер (по скорости), с которым мы когда-либо сталкивались, но с ним было мечтой работать.
  • Другой сканер не работает отлично - до второго или третьего сканирования, в котором указывают на сбой приложения без четкого указания того, что произошло (мы получаем EXEC_BAD_ACCESS из отладчика)
  • Другой сканер по-видимому, не имеет поддержки TWAIN на Mac OS X (нет источников данных в папке «Image Capture/TWAIN Data Sources»), хотя у него есть поддержка TWAIN в Windows.
  • Другой сканер имеет общий источник данных, который, как я полагаю, должен охватывать все возможные сканеры этого производителя, но когда мы пытаемся инициировать собственное сканирование (что является требованием для всех источников данных TWAIN), мы не получаем никаких результатов , Кроме того, пытаясь установить второй сканер от этого производителя, все это и требует ручного удаления всего от этой компании.
  • Другого сканера имеет источник данных TWAIN, который, как представляется, быть специфическими для производителя, но он также не инициировать нативное сканирование (но сканирование с использованием нативного GUI - который несовместим с нашим проектом - работа)

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

Кроме того, в рамках новой модели Cocoa/Carbon Events это дополнительное рассмотрение функции «обратного вызова», которую должны использовать источники данных Mac OS X TWAIN, и я не вижу ее вызванной из большинства этих данных источник/водителей.

Итак, все это заставляет меня задаваться вопросом - это то, что мы просто делаем что-то неправильно или TWAIN просто не поддерживается должным образом в целом на Macintosh?

Я действительно не вижу много информации о TWAIN на Macintosh в Интернете - случайный спорадический запрос на twainforum.org имеет тенденцию идти без ответа. Windows также имеет название WIA - Windows Image Acquisition - и на стороне Windows мы также включаем это как вариант. Есть ли что-то еще на Mac, которое мы должны изучать вместо или в дополнение к TWAIN?

ответ

1

Я не пробовал это, но вы проверили API захвата изображения?

http://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/ImageCaptureServicesRef/ICAApplication_h/index.html

+0

В Leopard этот API был ужасно багги. Если вопросник может потребовать Snow Leopard, новые API сканирования и загрузки с камеры в Image Kit и новая структура Image Capture Core (рекомендуемая Кираном в его ответе) намного лучше. Первый - высокоуровневый; последний является более низким. –

3

Вы можете попробовать ImageCaptureCore.framework. Но вы должны убедиться, что сканеры компании/модели, которым вы предоставляете решение, поддерживают ImageCapture. Если какой-либо поставщик предоставил поддержку, тогда модуль ImageCapture будет присутствовать в местоположении '/ Library/Image Capture/Devices'. Вы также можете проверить plists внутри модулей для поддерживаемых моделей.

Надеюсь, что это поможет :-)

+1

Документация: http://developer.apple.com/mac/library/documentation/Carbon/Conceptual/ImageCaptureServicesProgrammingGuide/ –