SANE (, у перекладі «Доступ до сканера тепер простий») — це інтерфейс прикладного програмування (API), який забезпечує стандартизований доступ до будь-якого пристрою сканування растрових зображень (планшетного, ручного сканера, відео- та фотокамери, пристроїв відеозахоплення тощо).
API SANE є суспільним надбанням і його обговорення та розробка відкриті для всіх. Зазвичай використовується в Linux.
Архітектура SANE відрізняється від TWAIN тим, що у першому структура чітко розділений на «» (користувацькі програми) та «бекенд» (драйвери сканера). Якщо драйвер TWAIN керується з інтерфейсу користувача, а також прив'язаний до апаратного забезпечення сканера, то драйвер SANE лише надає інтерфейс до обладнання й описує ряд «опцій», які керують кожним скануванням. Ці опції вказують на такі параметрами, як роздільна здатність сканування, область сканування, колірна модель тощо. Кожна опція має власну назву та інформацію про тип, одиниці виміру та діапазон чи можливі значення (наприклад, перерахований список). За згодою є кілька «добре відомих» варіантів, які може надавати фронтенд, використовуючи зручний графічний інтерфейс. Наприклад, опція «зона сканування» може встановлюватися шляхом перетягування прямокутного контуру над зображенням попереднього перегляду. Інші параметри можуть бути надані за допомогою елементів графічного інтерфейсу, їх відповідних типів, наприклад, повзунків, випадаючих списків тощо.
Одним із наслідків такого поділу є те, що можна легко реалізувати мережеве сканування без особливого ручного налаштування ні на стороні фронтенду, ні на стороні бекенді. На серверній стороні зі сканером, встановлена служба sane стартує викликами мережевих запитів. На клієнтських машинах встановлюється «мережевий» бекенд (драйвер), який підключається до віддаленого хоста для отримання параметрів сканера, також для попереднього перегляду та сканування. Служба sane (демон) працює як локальний фронтенд, просто передає запити та дані між мережевими підключеннями та локальним сканером. Подібним чином «мережевий» бекенд передає запити та дані між локальним інтерфейсом та віддаленим хостом.
Можливі також різні типи пакетного сканування без керування, з мінімальною підтримкою, необхідною на стороні бекенду (драйвера). Багато моделей сканерів підтримують приєднання пристроїв подачі документів, що дозволяє послідовно сканувати велику кількість аркушів паперу. Використовується API SANE, фронтенд просто «відтворює» той самий набір параметрів для кожного сканування, а між скануваннями автоматично завантажує наступний аркуш паперу. Інтерфейс просто один раз отримує набір опцій від користувача.
Графічні користувацькі інтерфейси Були створені декілька користувацьких інтерфейсів, для зручності роботи із SANE та керування ним.
gscan2pdf gscan2pdf — це інтерфейс для сканування документів у PDF у робочому середовищі GNOME, який використовує SANE для роботи зі сканером. Він доступний відповідно до ліцензії GPL. Містить загальні інструменти редагування, наприклад, обертання або обрізання сторінок. Також може виконувати розпізнавання текстів за допомогою декількох додаткових підключених інструментів розпізнавання та зберігати PDF файли з функціоналом пошуку по тексту. Після збереження PDF файли можна додатково зменшити у розмірі.
Simple Scan
Simple Scan — це спрощений графічний інтерфейс із використанням SANE, який було створено бути простішим у використанні та краще інтегруватися у робоче середовище GNOME, ніж XSane. Спочатку він був написаний для Ubuntu і підтримувався для Linux Робертом Анселлом з Canonical Ltd.. Simple Scan вперше було представлено, як частина Ubuntu 10.04 Lucid Lynx, а також використовувався у Lubuntu (до Lubuntu 18.04 LTS) та Xubuntu. Зараз проєкт є частиною проєкту GNOME.
Skanlite
Skanlite — це проста програма для сканування зображень на основі бекенда KSane. Kåre Särs — керівник розробки. У KDE 4 Skanlite замінив Kooka з KDE 3, як стандартну програму сканування у середовищі KDE.
Skanlite заснований на libksane, інтерфейсі, який надається для управління планшетними сканерами у середовищі KDE і теж основується на бібліотеках SANE. Програма також працює з мережевими сканерами.
SwingSane SwingSane — це міжплатформовий застосунок, Java фронтенд для SANE, який написаний та підтримується Роландом Квуастом. Доступний для Microsoft Windows, Linux, Mac OS X під ліцензією Apache 2.0. Вихідний код проєкту також можна адаптувати для використання з наявною програмою Swing.
XSane XSane — це графічний інтерфейс для SANE, написаний Олівером Раухом. Він доступний для Microsoft Windows, Linux, UNIX та OS/2 та ліцензується під загальнодоступною ліцензією GNU (GPL). Версія для Windows дозволяє комп'ютеру Windows лише отримати доступ до мережевого сканера, підключеного до мережевого комп'ютера з встановленою операційною системою Unix, OS/2 або Mac OS X, але не до локально підключеного сканера. Можливо, лише з деякими моделями сканерів, підключених локально, які оснащені «повною» версією бекенду на основі sane, локальна версія XSane буде працювати.
Див. також (, ISIS) — відкритий стандартний інтерфейс галузі. TWAIN — Програмний API для локальних драйверів, які в комплекті з графічним інтерфейсом управління. Windows Image Acquisition (WIA) — власний API від Microsoft.
Примітки