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