Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 36

Послать на сканер команду для начала сканирования

18.07.2014, 13:07. Показов 4374. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется сканер EPSON GT-S55 с возможностью сканирования двух сторон листа одновременно, его фирменная программа настроена на получение PDF док-та в котором находятся сразу две отсканированные части. Программа должна по нажатию на кнопку послать команду на сканер(или его программу), а тот должен просто отсканировать док-т и сохранить его куда нибудь. Как послать команду в стороннею программу или на сканер (WIA, TWAIN)?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.07.2014, 13:07
Ответы с готовыми решениями:

Сканер перестал переключаться в режим цветного сканирования
Windows 10, год полёта - нормальный, сканер от МФУ - Samsung SCX-4321, Finereader 12. Ни с того ни с сего перестал переключать режим на...

Послать в игру команду 'exit'
Как программно можно отправить в клиент игры команду 'exit' К примеру, игра CS 1.6 :D

Послать команду в браузер по умолчанию
Здравствуйте. Есть бат файл в котором прописано открытие ссылки в браузере по умолчанию. start http://*******.ru Есть ли возможность...

4
2 / 2 / 3
Регистрация: 17.07.2014
Сообщений: 8
18.07.2014, 13:47
Тыц
0
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 36
18.07.2014, 13:52  [ТС]
Не, ну гуглить то умею. Меня все таки интересовала возможность реализации через взаимодействие с дефолтной программой сканера. Тем более, на сколько я понял из описания TWAIN'a, то чере него не заставить сканировать сразу две стороны
0
2 / 2 / 3
Регистрация: 17.07.2014
Сообщений: 8
18.07.2014, 14:10
Что касается дефолтной программы, то тут нужно смотреть на нее саму - есть ли у нее API. Может. она аргументы командной строки поддерживает (или сокеты )
Насколько я помню, в основном все взаимодействие с периферией - либо через драйверы, либо через доп. компоненты - COM, обертки под платформы и т.п.
0
13 / 13 / 2
Регистрация: 20.09.2012
Сообщений: 170
18.07.2014, 17:01
Подключи WIA

C#
1
2
3
4
5
6
7
8
9
10
11
12
Image ScanImage()
        {
            // use WIA to transfer image
            WIA.CommonDialog commonDialog = new WIA.CommonDialog();
            Device device = commonDialog.ShowSelectDevice(WiaDeviceType.ScannerDeviceType);
            Items items = commonDialog.ShowSelectItems(device, WiaImageIntent.ColorIntent, WiaImageBias.MaximizeQuality);
            ImageFile image = (ImageFile)commonDialog.ShowTransfer(items[1]);
            // convert ImageFile object to 'regular' Image object
            byte[] bytes = (byte[])image.FileData.get_BinaryData();
            MemoryStream ms = new MemoryStream(bytes);
            return Image.FromStream(ms);
        }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Image CompressImage(Image image)
        {
            // find codec info for JPEG format
            ImageCodecInfo codec = null;
            foreach (ImageCodecInfo c in ImageCodecInfo.GetImageEncoders())
                if (c.FormatDescription.Equals("JPEG"))
                    codec = c;
 
            // set encoder quality parameter to 90%
            System.Drawing.Imaging.Encoder enc = System.Drawing.Imaging.Encoder.Quality;
            EncoderParameters encps = new EncoderParameters(1);
            EncoderParameter encp = new EncoderParameter(enc, 90L);
            encps.Param[0] = encp;
 
            // save image in memory
            MemoryStream ms = new MemoryStream();
            image.Save(ms, codec, encps);
            return Image.FromStream(ms);
        }
Добавлено через 2 минуты
тут пример для jpg 2 pdf
подключить нужно
using PdfSharp.Drawing;
using PdfSharp.Pdf;
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void SaveAsPDF(Image image, string filename)
        {
            // add a new document and a new page
            PdfDocument doc = new PdfDocument();
            PdfPage page = doc.AddPage();
 
            // draw image on the page
            XGraphics gfx = XGraphics.FromPdfPage(page);
            XImage ximage = XImage.FromGdiPlusImage(image);
            gfx.DrawImage(ximage, 0, 0);
 
            // save PDF to file
            doc.Save(filename);
        }
использовать так
C#
1
2
3
4
5
6
private void button1_Click(object sender, EventArgs e)
        {
            Image image = ScanImage();
            Image compressedImage = CompressImage(image);
            SaveAsPDF(compressedImage, @"Test.pdf");
        }
Добавлено через 1 минуту
сжимает не очень если честно pdf больше 1 Мб всегда, есть еще другой пример (без диалога) и в jpg

Добавлено через 7 минут
по моему вопрос твой не понял, бывает,
ну запусти ее по кнопке фирменную утилиту(может у нее параметры есть для запуска) с параметром
C#
1
2
3
4
5
6
/ включение внешней программы!
                System.Diagnostics.Process proc = new System.Diagnostics.Process();
                proc.StartInfo.FileName = path + "\\УтилитаEpson.exe";
                proc.StartInfo.WorkingDirectory=path + "\\Каталог\\";
                proc.Start();
                proc.WaitForExit();
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.07.2014, 17:01
Помогаю со студенческими работами здесь

Послать команду запущенному приложению (процессу)
Существует возможность послать команду запасающемуся приложению из командной строки типа: "C:\PO.exe" /UDALIT. Как послать...

Послать команду обновить конфигурацию диспетчеру устройств
Никто с таким не сталкивался. Как открыть программно диспетчер я знаю, а вот послать команду обновления???

Создать таймер, который через 24 часа после начала отсчета выполнит команду
Всем доброго дня, недавно созрела небольшая проблема. Дело в том, что я держу серверы по Minecraft и LineAge II в локальной сети. После...

прилoжение для сканирования.
помогите,плиз! нужно приложение, получающее из INI файла путь для сохранения и имя файла, после получения - сканирование, сохранение и...

Программа для сканирования
Имеется сетевой сканер Sumsung в составе МФУ. Так вот ПО SmartThru, которая идет в поставке с МФУ не умеет сохранять сканы в произвольное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru