Я работаю над проектом по эмуляции сканирования Apple AirScan / eSCL с помощью сервера Apache / PHP7. Этот интерфейс взаимодействует через командную строку, что означает, что он будет работать практически во всех системах, в которых вы можете использовать сканер командной строки, и, надеюсь, преодолеть разрыв между SANE и AirScan, поскольку SANE также имеет возможности командной строки. Вроде неуклюжий способ сделать это, но я изначально запустил его для другого сканера командной строки. Поскольку я понял, что существует множество сканеров командной строки, доступных для различных моделей, некоторые из них являются заменой с открытым исходным кодом для проприетарных драйверов.
У меня нет устройств Apple, и в Интернете очень мало информации об этом протоколе, вероятно, лишь несколько страниц, а некоторые смешивают протокол HP с eSCL, что еще больше усложняет его. На сайте Рабочей группы по принтерам (PWG) есть много страниц, но я не могу понять большинство из них.
http://www.pwg.org/sm/schemas/Rev2.905/
и Github
https://github.com/istopwg/pwg-semantic-model/blob/master/ScanService.xsd
Я надеялся, что кто-нибудь сможет ответить здесь, что происходит на iOS или Mac (AirScan, а не с драйвером HP или Canon) после отправки задания сканирования. Я использую клиент Mopria Android (eSCL) и вижу, что он проходит и проверяет eSCL / ScannerStaus, непосредственно перед сбоем. Я не могу эмулировать то, чего у меня нет, и мне нужно эмулировать связь сразу после отправки задания сканирования. В настоящее время сканирование прошло успешно, оно записано на сервер Apache, даже преобразовано с помощью ImageMagick, но Mopria вылетает. Так близко, но так далеко.
Я попробовал некоторые из сценариев python в сети со сканером, совместимым с AirScan, но они также находятся в зачаточном состоянии и не поддерживают сканер HP Laserjet Pro 130, на котором я тестировал. Я надеялся захватить пакеты, но не смог.
Я знаю, что кто-то может сказать, что это "не настоящий вопрос", поскольку он является общим, но живет на переднем крае, как мы иногда делаем вещи, не всегда черно-белые
Что я знаю, кроме вопроса о состоянии сканера, так это того, что где-то ему нужно получить ответ 201 Created ??? и позже ответ «Готово к странице» со ссылкой на файл.
извините, у меня в руке нет следов Wireshark. Я хотел бы иметь больше.
Поскольку я не могу воспроизвести этот последний ответ, Mopria просто падает.