В настоящее время я работаю над проектом, в котором мы хотим взаимодействовать со сканерами TWAIN как на ПК (Windows), так и на Macintosh.
В Windows у нас все в порядке, и код успешно работает с большинством сканеров.
В Mac OS X у нас также в основном все работает, и с основным сканером, который мы использовали для разработки приложения, работает отлично, но нам не очень повезло с другими сканерами. Как побочный продукт разработки этого проекта, у нас есть достаточное количество сканеров от разных производителей, которые можно протестировать. Результаты сильно различаются:
- Сканер, с которым мы работали, прекрасно работает на Mac OS X, как и в Windows. По иронии судьбы этот сканер - самый дешевый и самый дешевый (по скорости), который мы когда-либо встречали, но работать с ним было мечтой.
- Другой сканер прекрасно работает - до второго или третьего сканирования, после чего происходит сбой приложения без четкого указания на то, что произошло (мы получаем EXEC_BAD_ACCESS из отладчика)
- Другой сканер, по-видимому, не поддерживает TWAIN в Mac OS X (нет источников данных в папке «Image Capture / TWAIN Data Sources»), хотя в Windows он поддерживает TWAIN.
- У другого сканера есть общий источник данных, который, как я думаю, должен охватывать все возможные сканеры этого производителя, но когда мы пытаемся запустить собственное сканирование (что является обязательным требованием для всех источников данных TWAIN), мы не получаем результатов. , Кроме того, попытка установить второй сканер от этого производителя приводит в порядок все и требует ручной деинсталляции для всего от этой компании.
- Другой сканер имеет источник данных TWAIN, который, по-видимому, специфичен для производителя, но он также не может инициировать собственное сканирование (но сканирование с использованием собственного графического интерфейса пользователя - который несовместим с нашим проектом - работает)
Так что я не уверен, куда идти с этим. Я все еще копаюсь в коде, чтобы выяснить, что, если что-то происходит, мы делаем неправильно, но при проверке на соответствие стандарту TWAIN все действительно выглядит так, как будто мы все делаем правильно, но мы становимся очень успешными пропустите результаты на большинстве сканеров, с которыми мы тестируем.
Кроме того, в рамках новой модели Cocoa / Carbon Events есть дополнительное рассмотрение функции «обратного вызова», которую должны реализовывать источники данных TWAIN в Mac OS X, и я не вижу, чтобы ее вызывали из большинства этих источников данных. / водителей.
Так что все это заставляет меня задуматься - неужели мы просто что-то делаем неправильно или TWAIN просто не поддерживается должным образом в Macintosh?
Я действительно не вижу много информации о TWAIN на Macintosh онлайн - случайные спорадические запросы на twainforum.org имеют тенденцию оставаться без ответа. В Windows также есть вещь под названием WIA - Windows Image Acquisition - и на стороне Windows мы также включаем это в качестве опции. Есть ли на Mac что-то еще, что мы должны исследовать вместо или в дополнение к TWAIN?