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

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

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

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

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

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

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

Послать команду запущенному приложению (процессу)
Существует возможность послать команду запасающемуся приложению из командной строки типа:...

4
2 / 2 / 3
Регистрация: 17.07.2014
Сообщений: 8
18.07.2014, 13:47 2
Тыц
0
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 36
18.07.2014, 13:52  [ТС] 3
Не, ну гуглить то умею. Меня все таки интересовала возможность реализации через взаимодействие с дефолтной программой сканера. Тем более, на сколько я понял из описания TWAIN'a, то чере него не заставить сканировать сразу две стороны
0
2 / 2 / 3
Регистрация: 17.07.2014
Сообщений: 8
18.07.2014, 14:10 4
Что касается дефолтной программы, то тут нужно смотреть на нее саму - есть ли у нее API. Может. она аргументы командной строки поддерживает (или сокеты )
Насколько я помню, в основном все взаимодействие с периферией - либо через драйверы, либо через доп. компоненты - COM, обертки под платформы и т.п.
0
12 / 12 / 2
Регистрация: 20.09.2012
Сообщений: 170
18.07.2014, 17:01 5
Подключи 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2014, 17:01

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.