В этом разделе
Менеджер устройств TWAIN - это библиотека, которая служит мостом между TWAIN-драйвером и пользовательским приложением (VintaSoft Twain .NET SDK).
Вот список существующих менеджеров устройств TWAIN для Windows:
- Файл TWAIN_32.DLL - 32-битный менеджер устройств TWAIN, который совместим с спецификацией TWAIN 1.x.
Этот менеджер устройств позволяет работать только с 32-битными драйверами TWAIN 1.x и WIA.
Обычно TWAIN_32.DLL находится в каталоге "C:\Windows\" и входит в дистрибутивный пакет всех версий Windows.
- Файлы TWAINDSM.DLL и TWAINDSM32.MSM - 32-битный менеджер устройств TWAIN, который совместим с спецификацией TWAIN 2.x.
Этот менеджер устройств позволяет работать только с 32-битными драйверами TWAIN 1.x и 2.x.
Стандартная установка Windows не содержит менеджер устройств TWAIN и менеджер устройств нужно установить вручную. На 32-битных системах файлы менеджера устройств TWAIN должны быть помещены в каталог "C:\Windows\System32\". На 64-битных системах файлы менеджера устройств TWAIN должны быть помещены в каталог "C:\Windows\SysWow64\".
Последнюю версию этого менеджера устройств можно найти здесь: https://github.com/twain/twain-dsm/tree/master/Releases.
- Файлы TWAINDSM.DLL и TWAINDSM64.MSM - 64-битный менеджер устройств TWAIN, который совместим с спецификацией TWAIN 2.x.
Этот менеджер устройств позволяет работать только с 64-битными драйверами TWAIN 2.x.
Стандартная установка Windows не содержит менеджер устройств TWAIN и менеджер устройств нужно установить вручную. На 64-битных системах файлы менеджера устройств TWAIN должны быть размещены в каталоге "C:\Windows\System32\".
Последнюю версию этого менеджера устройств можно найти здесь: https://github.com/twain/twain-dsm/tree/master/Releases.
Вот список существующих менеджеров устройств TWAIN для Linux:
- Файл TWAINDSM - 64-х битный менеджер устройств TWAIN, который совместим с спецификацией TWAIN 2.x.
Стандартная установка Linux не содержит менеджер устройств TWAIN и менеджер устройств нужно установить вручную.
Последняя версия менеджера устройств TWAIN может быть получена здесь: https://github.com/twain/twain-dsm/tree/master/Releases
Инсталлятор устанавливает файл TWAINDSM в директорию "/Library/Frameworks/TWAINDSM.framework/".
Вот список существующих менеджеров устройств TWAIN для macOS:
- Файл libtwaindsm.so - 64-х битный менеджер устройств TWAIN, который совместим с спецификацией TWAIN 2.x.
Стандартная установка macOS не содержит менеджер устройств TWAIN и менеджер устройств нужно установить вручную.
Последняя версия менеджера устройств TWAIN может быть получена здесь: https://github.com/twain/twain-dsm/tree/master/Releases
Инсталлятор устанавливает файл libtwaindsm.so в директорию "/usr/local/lib/".
Если SDK используется в 32-битном приложении для Windows:
- SDK может использовать 32-битный менеджер устройств TWAIN (файл TWAINDSM.DLL), совместимый со спецификацией TWAIN 2.x
- SDK может использовать 32-битный менеджер устройств TWAIN (файл TWAIN_32.DLL), совместимый со спецификацией TWAIN 1.x.
Если SDK используется в 64-битном приложении для Windows:
- SDK может использовать 64-битный менеджер устройств TWAIN (файл TWAINDSM.DLL), совместимый со спецификацией TWAIN 2.x
- SDK может использовать 32-битный менеджер устройств TWAIN (файл TWAINDSM.DLL), совместимый со спецификацией TWAIN 2.x.
Важно: Пожалуйста, прочитайте, как использовать 32-битный TWAIN-драйвер в 64-битном приложении здесь.
Важно: Используйте 32-битный TWAIN-драйвер в 64-битном приложении, только если TWAIN-сканер не имеет 64-битного TWAIN-драйвера.
Если SDK используется в 64-битном приложении для Linux:
- SDK может использовать 64-битный менеджер устройств TWAIN (файл libtwaindsm.so), совместимый со спецификацией TWAIN 2.x.
Для работы с менеджером устройств TWAIN необходимо создать копию класса Vintasoft.Twain.DeviceManager. Тип менеджера устройств TWAIN можно установить с помощью свойства Vintasoft.Twain.DeviceManager.IsTwain2Compatible. Свойство Vintasoft.Twain.DeviceManager.IsTwainAvailable позволяет проверить, присутствует ли менеджер устройств TWAIN в системе. Свойство Vintasoft.Twain.DeviceManager.TwainDllPath позволяет определить пользовательский путь к менеджеру устройств TWAIN.
Вот пример, который демонстрирует, как проверить, установлен ли в системе менеджер устройств TWAIN:
/// <summary>
/// Checks that TWAIN device manager is installed in the system.
/// </summary>
void CheckTwain()
{
bool isTwainAvailable = false;
// create the device manager
using (Vintasoft.Twain.DeviceManager deviceManager = new Vintasoft.Twain.DeviceManager())
{
// specify that TWAIN device manager 2.x must be used
deviceManager.IsTwain2Compatible = true;
// if TWAIN device manager 2.x is available
if (deviceManager.IsTwainAvailable)
{
System.Console.WriteLine("TWAIN device manager 2.x is available.");
isTwainAvailable = true;
}
// specify that TWAIN device manager 1.x must be used
deviceManager.IsTwain2Compatible = false;
// if TWAIN device manager 1.x is available
if (deviceManager.IsTwainAvailable)
{
System.Console.WriteLine("TWAIN device manager 1.x is available.");
isTwainAvailable = true;
}
// if TWAIN device manager is NOT available
if (!isTwainAvailable)
System.Console.WriteLine("TWAIN device manager is NOT available.");
}
}
''' <summary>
''' Checks that TWAIN device manager is installed in the system.
''' </summary>
Private Sub CheckTwain()
Dim isTwainAvailable As Boolean = False
' create the device manager
Using deviceManager As New Vintasoft.Twain.DeviceManager()
' specify that TWAIN device manager 2.x must be used
deviceManager.IsTwain2Compatible = True
' if TWAIN device manager 2.x is available
If deviceManager.IsTwainAvailable Then
Console.WriteLine("TWAIN device manager 2.x is available.")
isTwainAvailable = True
End If
' specify that TWAIN device manager 1.x must be used
deviceManager.IsTwain2Compatible = False
' if TWAIN device manager 1.x is available
If deviceManager.IsTwainAvailable Then
Console.WriteLine("TWAIN device manager 1.x is available.")
isTwainAvailable = True
End If
' if TWAIN device manager is NOT available
If Not isTwainAvailable Then
Console.WriteLine("TWAIN device manager is NOT available.")
End If
End Using
End Sub
Вот пример, который демонстрирует, как использовать 32-битные драйверы TWAIN и WIA в 32-битном приложении:
/// <summary>
/// Shows a list of 32-bit TWAIN and WIA drivers in 32-bit application.
/// </summary>
/// <remarks>
/// This code must be used in 32-bit application.
/// </remarks>
void Use32BitTwainAndWiaDriversIn32BitApplication()
{
// create the device manager
using (Vintasoft.Twain.DeviceManager deviceManager = new Vintasoft.Twain.DeviceManager())
{
// specify that TWAIN device manager 1.x must be used
deviceManager.IsTwain2Compatible = false;
// open the device manager
deviceManager.Open();
// show a dialog for selecting 32-bit TWAIN or WIA driver
deviceManager.ShowDefaultDeviceSelectionDialog();
}
}
''' <summary>
''' Shows a list of 32-bit TWAIN and WIA drivers in 32-bit application.
''' </summary>
''' <remarks>
''' This code must be used in 32-bit application.
''' </remarks>
Private Sub Use32BitTwainAndWiaDriversIn32BitApplication()
' create the device manager
Using deviceManager As New Vintasoft.Twain.DeviceManager()
' specify that TWAIN device manager 1.x must be used
deviceManager.IsTwain2Compatible = False
' open the device manager
deviceManager.Open()
' show a dialog for selecting 32-bit TWAIN or WIA driver
deviceManager.ShowDefaultDeviceSelectionDialog()
End Using
End Sub
Вот пример, который демонстрирует, как использовать 32-битные TWAIN-драйверы в 64-битном приложении:
/// <summary>
/// Shows a list of 32-bit TWAIN drivers in 64-bit application.
/// </summary>
/// <remarks>
/// This code must be used in 64-bit application.
/// </remarks>
void Use32BitTwainDriversIn64BitApplication()
{
// create the device manager
using (Vintasoft.Twain.DeviceManager deviceManager = new Vintasoft.Twain.DeviceManager())
{
// specify that TWAIN device manager 2.x must be used
deviceManager.IsTwain2Compatible = true;
// specify that 64-bit TWAIN device manager 2.x must use 32-bit devices
deviceManager.Use32BitDevices();
// open the device manager
deviceManager.Open();
// show a dialog for selecting 32-bit TWAIN driver
deviceManager.ShowDefaultDeviceSelectionDialog();
}
}
''' <summary>
''' Shows a list of 32-bit TWAIN drivers in 64-bit application.
''' </summary>
''' <remarks>
''' This code must be used in 64-bit application.
''' </remarks>
Private Sub Use32BitTwainDriversIn64BitApplication()
' create the device manager
Using deviceManager As New Vintasoft.Twain.DeviceManager()
' specify that TWAIN device manager 2.x must be used
deviceManager.IsTwain2Compatible = True
' specify that 64-bit TWAIN device manager 2.x must use 32-bit devices
deviceManager.Use32BitDevices()
' open the device manager
deviceManager.Open()
' show a dialog for selecting 32-bit TWAIN driver
deviceManager.ShowDefaultDeviceSelectionDialog()
End Using
End Sub
Вот пример, который демонстрирует, как использовать 64-битные TWAIN-драйверы в 64-битном приложении:
/// <summary>
/// Shows a list of 64-bit TWAIN drivers in 64-bit application.
/// </summary>
/// <remarks>
/// This code must be used in 64-bit application.
/// </remarks>
void Use64BitTwainDriversIn64BitApplication()
{
// create the device manager
using (Vintasoft.Twain.DeviceManager deviceManager = new Vintasoft.Twain.DeviceManager())
{
// specify that TWAIN device manager 2.x must be used
deviceManager.IsTwain2Compatible = true;
// open the device manager
deviceManager.Open();
// show a dialog for selecting 64-bit TWAIN driver
deviceManager.ShowDefaultDeviceSelectionDialog();
}
}
''' <summary>
''' Shows a list of 64-bit TWAIN drivers in 64-bit application.
''' </summary>
''' <remarks>
''' This code must be used in 64-bit application.
''' </remarks>
Private Sub Use64BitTwainDriversIn64BitApplication()
' create the device manager
Using deviceManager As New Vintasoft.Twain.DeviceManager()
' specify that TWAIN device manager 2.x must be used
deviceManager.IsTwain2Compatible = True
' open the device manager
deviceManager.Open()
' show a dialog for selecting 64-bit TWAIN driver
deviceManager.ShowDefaultDeviceSelectionDialog()
End Using
End Sub