VintaSoft Twain .NET SDK 15.3: Руководство для .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