TwainDotNet для конкретной области сканирования

В моем приложении я использую библиотеку TwainDotNet и сканирую определенную область с планшета.

public Prasymas scanForm(Prasymas prasymas, bool isItFirstScan)
    {

        Enabled = false;

        _settings = new ScanSettings();
        _settings.UseDocumentFeeder = false;
        _settings.ShowTwainUI = false;
        _settings.ShowProgressIndicatorUI = true;
        _settings.UseDuplex = false;
        _settings.Resolution =
            false
            ? ResolutionSettings.Fax : ResolutionSettings.ColourPhotocopier;
        _settings.Page = PageSettings.Default;

        if (!isItFirstScan) 
        {
            _prasymas = prasymas;
            AreaSettings = new AreaSettings(Units.Centimeters, 0.0f, 0.0f, (float)(_prasymas.maxScanAukstis), 0.0f);                
        }
        else
        {
            _settings.Area = !false ? null : AreaSettings;
        }
        _settings.ShouldTransferAllPages = true;


        _settings.Rotation = new RotationSettings()
        {
            AutomaticRotate = false,
            AutomaticBorderDetection = false
        };

        try
        {
            _twain.SelectSource();
            _twain.StartScanning(_settings);
        }
        catch (TwainException ex)
        {
            if (ex.Message == "Error opening data source")
            {
                _twain.SelectSource();
                scanForm(_prasymas, isItFirstScan);
                Enabled = true;
            }
            else
                throw ex;

        }
        catch (Exception exc)
        {
            if (exc.Message == "Pasiuto skeneris")
            {
                scanForm(_prasymas, true);                    
            }
            else
                throw exc;

        }

        Enabled = true;
        return prasymas;
    }

но в результате, когда сканирование начинается и источником сканирования является драйвер Twain, он сканирует всю страницу, но если я выберу драйвер WIA, я получу специально выделенную область. Основная идея заключается в том, что приложение запускается в первый раз, когда оно сканирует всю страницу, в следующий раз оно сканирует только определенную высоту страницы.

1 ответ

Прочитав документацию, я узнал, что нужно просто закомментировать часть поворота, и все начало работать. Я могу сканировать выбранную область.

Другие вопросы по тегам