SANE

SANE (англ. Scanner Access Now Easy, у перекладі «Доступ до сканера тепер простий») — це інтерфейс прикладного програмування (API), який забезпечує стандартизований доступ до будь-якого пристрою сканування растрових зображень (планшетного, ручного сканера, відео- та фотокамери, пристроїв відеозахоплення, тощо).

SANE
XSane на Ubuntu (Linux)
Тип бібліотека
driverd і front endd
Автор(и) Девід Мозбергер-Танг
Енді Бек
Перший випуск 27 листопада 1996 (1996-11-27)[1]
Стабільний випуск 1.0.31 (23 серпня, 2020 (2020-08-23))
Репозиторій gitlab.com/sane-project
Операційна система Microsoft Windows, Linux, UNIX, OS/2
GNU фреймворк GTK
Мова програмування C[2]
Ліцензія GNU GPLv2 or later[3] (frontend programs),
weakened[4] GPLv2 or later[5] (backend libraries),
Public domain[6] (SANE standard: API & network protocol)[7]
Вебсайт www.sane-project.org

 SANE у Вікісховищі

API SANE є суспільним надбанням і його обговорення та розробка відкриті для всіх. Зазвичай використовується в Linux.

Архітектура

SANE відрізняється від TWAIN тим, що у першому структура чітко розділений на «фронтенд» (користувацькі програми) та «бекенд» (драйвери сканера). Якщо драйвер TWAIN керується з інтерфейсу користувача, а також прив'язаний до апаратного забезпеченням сканера, то драйвер SANE лише надає інтерфейс до обладнанням і описує ряд «опцій», які керують кожним скануванням. Ці опції вказують на такі параметрами, як роздільна здатність сканування, область сканування, кольорова модель тощо. Кожна опція має власну назву та інформацію про тип, одиниці виміру та діапазон чи можливі значення (наприклад, перерахований список). За згодою є кілька «добре відомих» варіантів, які може надавати фронтенд, використовуючи зручний графічний інтерфейс. Наприклад, опція «зона сканування» може встановлюватися шляхом перетягування прямокутного контуру над зображенням попереднього перегляду. Інші параметри можуть бути надані за допомогою елементів графічного інтерфейсу, їх відповідних типів, наприклад, повзунків, випадаючих списків, тощо.

Одним із наслідків такого поділу є те, що можна легко реалізувати мережеве сканування без особливого ручного налаштування ні на стороні фронтенду, ні на стороні бекенді. На серверній стороні зі сканером, встановлена служба sane стартує викликами мережевих запитів. На клієнтських машинах встановлюється «мережевий» бекенд (драйвер), який підключається до віддаленого хоста для отримання параметрів сканера, також для попереднього перегляду та сканування. Служба sane (демон) працює як локальний фронтенд, просто передає запити та дані між мережевими підключеннями та локальним сканером. Подібним чином «мережевий» бекенд передає запити та дані між локальним інтерфейсом та віддаленим хостом.

Можливі також різні типи пакетного сканування без керування, з мінімальною підтримкою, необхідною на стороні бекенду (драйвера). Багато моделей сканерів підтримують приєднання пристроїв подачі документів, що дозволяє послідовно сканувати велику кількість аркушів паперу. Використовується API SANE, фронтенд просто «відтворює» той самий набір параметрів для кожного сканування, а між скануваннями автоматично завантажує наступний аркуш паперу. Інтерфейс просто один раз отримує набір опцій від користувача.

Графічні користувацькі інтерфейси

Були створені декілька користувацьких інтерфейсів, для зручності роботи із SANE та керування ним.

gscan2pdf

gscan2pdf — це інтерфейс для сканування документів у PDF у робочому середовищі GNOME, який використовує SANE для роботи зі сканером. Він доступний відповідно до ліцензії GPL. Містить загальні інструменти редагування, наприклад, обертання або обрізання сторінок. Також може виконувати розпізнавання текстів за допомогою декількох додаткових підключених інструментів розпізнавання та зберігати PDF файли з функціоналом пошуку по тексту. Після збереження PDF файли можна додатково зменшити у розмірі.[8]

Simple Scan

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 .[9][10][11][12][13][14]

Skanlite

SkanLite

Skanlite — це проста програма для сканування зображень на основі бекенда KSane. Kåre Särs — керівник розробки.[15] У KDE 4 Skanlite замінив Kooka з KDE 3, як стандартну програму сканування у середовищі KDE.[16]

Skanlite заснований на libksane, інтерфейсі, який надається для управління планшетними сканерами у середовищі KDE і теж основується на бібліотеках SANE.[17] Програма також працює з мережевими сканерами.[18]

SwingSane

SwingSane — це міжплатформовий застосунок, Java фронтенд для SANE, який написаний та підтримується Роландом Квуастом. Доступний для Microsoft Windows, Linux, Mac OS X під ліцензією Apache 2.0.[19] Вихідний код проєкту також можна адаптувати для використання з наявною програмою Swing.[20]

XSane

XSane — це графічний інтерфейс для SANE, написаний Олівером Раухом. Він доступний для Microsoft Windows, Linux, UNIX та OS/2 та ліцензується під загальнодоступною ліцензією GNU (GPL).[21] Версія для Windows дозволяє комп'ютеру Windows лише отримати доступ до мережевого сканера, підключеного до мережевого комп'ютера з встановленою операційною системою Unix, OS/2 або Mac OS X, але не до локально підключеного сканера. Можливо, лише з деякими моделями сканерів, підключених локально, які оснащені «повною» версією бекенду на основі sane, локальна версія XSane буде працювати.[22]

Див. також

  • Специфікація інтерфейсів зображень та сканерів (англ. Image and Scanner Interface Specification, ISIS) — відкритий стандартний інтерфейс галузі.
  • TWAIN — Програмний API для локальних драйверів, які в комплекті з графічним інтерфейсом управління.
  • Windows Image Acquisition (WIA) — власний API від Microsoft.

Примітки

  1. History of SANE, 2001-11-20, sane-devel@lists.alioth.debian.org Mailing list, The first entry in ChangeLog is from 1996-11-16. The first SANE standard I know is version 0.2 from 1996-11-17. SANE 0.1 seem to have been released around 1996-11-27. The first mail on sane-devel is from 1996-12-09.
  2. The sane Open Source Project on Open Hub: Languages Page — 2006.
  3. license notice placed at the top in one of the source files of the project's said repository subsection, probably in each of its source files. Процитовано 26 листопада 2017. «This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.»
  4. sane/sane-backends - SANE backends - scanner drivers. Процитовано 27 листопада 2017.
  5. license notice placed at the top in one of the source files of the project's said repository subsection, applies to most of its source files, some are set up like most, but without linking exception or with additional license constrains. Процитовано 26 листопада 2017. «This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. ...  As a special exception, the authors of SANE give permission for additional uses of the libraries contained in this release of SANE. The exception is that, if you link a SANE library with other files to produce an executable, this does not by itself cause the resulting executable to be covered by the GNU General Public License. Your use of that executable is in no way restricted on account of linking the SANE library code into it. This exception does not, however, invalidate any other reasons why the executable file might be covered by the GNU General Public License. If you submit changes to SANE to the maintainers to be included in a subsequent release, you agree by submitting the changes that those changes may be distributed with this exception intact. If you write modifications of your own for SANE, it is your choice whether to permit this exception to apply to your modifications. If you do not wish that, delete this exception notice. This file implements a dynamic linking based SANE meta backend. It allows managing an arbitrary number of SANE backends by using dynamic linking to load backends on demand.»
  6. license notice file placed in project's repository root section. Процитовано 26 листопада 2017. «The standard is considered to be in the public domain. Anyone is free to implement SANE interface conforming applications or libraries in any way...»
  7. license notice file placed in project's repository root section. Процитовано 26 листопада 2017. «SANE consists of three parts each of which has its own licensing terms: * The frontend programs. These programs are generally protected by the GNU General Public License. (See file COPYING.) * The backend libraries. Most backend libraries are protected by the GNU General Public License (see file COPYING), but as an exception, it is permissible to link against such a library without affecting the licensing status of the program that uses the libraries. ... Note that not all of the backends apply the exception and that some have additional licensing constraints. ... * The SANE API and network protocol as put forth in the standard document. The standard is considered to be in the public domain. Anyone is free to implement SANE interface conforming applications or libraries in any way ...»
  8. gscan2pdf (n.d.). gscan2pdf - A GUI to produce PDFs or DjVus from scanned documents. Процитовано 27 вересня 2011.
  9. Ancell, Robert (May 2010). Simple Scan. Процитовано 4 червня 2010.
  10. Canonical Ltd. (2012). Simple Scan Development Team. Процитовано 8 березня 2012.
  11. Canonical Ltd. (2012). Packages by project series. Процитовано 8 березня 2012.
  12. UbuntuUpdates.org (April 2010). Package simple-scan. Процитовано 4 червня 2010.
  13. OMG! Ubuntu! (December 2009). Lucid to Get Scanning Tool "Simple Scan". Процитовано 4 червня 2010.
  14. GNOME (21 березня 2020). Document Scanner. gitlab.gnome.org. Архів оригіналу за 25 жовтня 2019. Процитовано 21 березня 2020.
  15. Skanlite. Kde.org. Процитовано 23 серпня 2012.
  16. Kooka. Userbase.kde.org. 10 червня 2012. Процитовано 23 серпня 2012.
  17. Skanlite handbook. Docs.kde.org. 29 листопада 2011. Процитовано 23 серпня 2012.
  18. Skanlite. Docs.kde.org. 29 листопада 2011. Процитовано 23 серпня 2012.
  19. Quast, Roland (February 2015). SwingSane - graphical scanning frontend. Процитовано 19 лютого 2015.
  20. Quast, Roland (n.d.). SwingSane project files. Процитовано 19 лютого 2015.
  21. Rauch, Oliver (February 2009). XSane - graphical scanning frontend. Процитовано 1 серпня 2019.
  22. Rauch, Oliver (n.d.). XSane WIN32 version. Процитовано 24 жовтня 2010.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.