VintaSoft Twain .NET SDK 15.4: Руководство для .NET разработчика
В этом разделе
Менеджер SANE устройств
В этом разделе
SANE означает "Простой доступ к сканеру" ("Scanner Access Now Easy") и представляет собой интерфейс прикладного программирования (API), который обеспечивает стандартизированный доступ к любому оборудованию для сканерования растровых изображений.

libsane - это библиотека, реализующая SANE API в Linux. В Debian/Ubuntu библиотека libsane находится по следующему пути "/usr/lib/x86_64-linux-gnu/libsane.so.1". В Fedora библиотека libsane находится по следующему пути "/usr/lib64/libsane.so.1".

VintaSoft TWAIN .NET SDK предоставляет диспетчер SANE устройств, который обеспечивает доступ к SANE устройствам с использованием библиотеки libsane.


Для работы с диспетчером SANE устройств необходимо создать экземпляр класса SaneLocalDeviceManager. Свойство SaneLocalDeviceManager.IsSaneAvailable позволяет проверить, доступен ли SANE (установлена ли библиотека libsane) в системе. Свойство SaneLocalDeviceManager.SaneLibPath позволяет задать пользовательский путь к библиотеке libsane.

Вот C#/VB.NET код, который позволяет проверить установлен ли SANE в системе:
/// <summary>
/// Checks that SANE is available in the system.
/// </summary>
void CheckSane()
{
    // create the SANE device manager
    using (Vintasoft.Sane.SaneLocalDeviceManager deviceManager = new Vintasoft.Sane.SaneLocalDeviceManager())
    {
        if (deviceManager.IsSaneAvailable)
            System.Console.WriteLine("SANE is available.");
        else
            System.Console.WriteLine("SANE is NOT available.");
    }
}
''' <summary>
''' Checks that SANE is available in the system.
''' </summary>
Private Sub CheckSane()
    ' create the SANE device manager
    Using deviceManager As New Vintasoft.Sane.SaneLocalDeviceManager()
        If deviceManager.IsSaneAvailable Then
            System.Console.WriteLine("SANE is available.")
        Else
            System.Console.WriteLine("SANE is NOT available.")
        End If
    End Using
End Sub


Вот C#/VB.NET код, который демонстрирует как открыть менеджер SANE устройств и отобразить информацию о доступных SANE устройствах:
/// <summary>
/// Opens SANE device manager and displays information about available local SANE image scanners.
/// </summary>
void GetSaneDevicesInfo()
{
    // create SANE device manager
    using (Vintasoft.Sane.SaneLocalDeviceManager deviceManager = new Vintasoft.Sane.SaneLocalDeviceManager())
    {
        // open device manager
        deviceManager.Open();

        Vintasoft.Sane.SaneLocalDeviceCollection devices = deviceManager.Devices;
        // for each SANE device
        for (int i = 0; i < devices.Count; i++)
        {
            // output the device name
            System.Console.WriteLine(string.Format("Device '{0}'", devices[i].Name));
        }
    }
}
''' <summary>
''' Opens SANE device manager and displays information about available local SANE image scanners.
''' </summary>
Private Sub GetSaneDevicesInfo()
    ' create SANE device manager
    Using deviceManager As New Vintasoft.Sane.SaneLocalDeviceManager()
        ' open device manager
        deviceManager.Open()

        Dim devices As Vintasoft.Sane.SaneLocalDeviceCollection = deviceManager.Devices
        ' for each SANE device
        For i As Integer = 0 To devices.Count - 1
            ' output the device name
            System.Console.WriteLine(String.Format("Device '{0}'", devices(i).Name))
        Next
    End Using
End Sub