помощь в копировании

Тема в разделе "Свободное общение", создана пользователем NoRW, 16 окт 2010.

  1. NoRW

    NoRW Гость

    Всем здравствуйте! Описываю ситуацию. Есть МФУ(струйное) и лазерный принтер. Как вы понимаете на струйном МФУ копии делать дорого. И вот у меня к вам такой вопрос, есть ли какая-нибудь прога, чтобы при сканировании через неё я нажимал одну кнопку(в проге) и отсканированый фаил сразу же шел на печать на лазерник? Заранее благодарен за помощь.
     
  2. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    Можно сделать упрощенный процесс
    ADobe FineReader, в настройках ставишь сканировать несколько страниц, будет происходить автоматическое сканирование с паузами. Потом отрпавляеш на печать.

    В фотошопе можно написать макросы, выставлять время для паузы
     
  3. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    Дальше, можно такое, своеобразный кеш:
    1) Задаем сохранение всех файлов в определенный каталог;
    2) Пишем скрипт для выборки файлов из каталога, поочередной печати и удаления(чтоб не засорять)
    3) Ярлык скрипта на рабочий стол и все

    Добавлено:
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Код</div></div><div class="sp-body"><div class="sp-content">//-----------------------------------------------------------------------------
    // scr_ScanUtils
    //-----------------------------------------------------------------------------

    // Device Types
    var UnspecifiedDeviceType = 0;
    var ScannerDeviceType = 1;
    var CameraDeviceType = 2;
    var VideoDeviceType = 3;

    // Commands
    var wiaCommandSynchronize = '{9B26B7B2-ACAD-11D2-A093-00C04F72DC3C}';
    var wiaCommandTakePicture = '{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}';
    var wiaCommandDeleteAllItems = '{E208C170-ACAD-11D2-A093-00C04F72DC3C}';
    var wiaCommandChangeDocument = '{04E725B0-ACAE-11D2-A093-00C04F72DC3C}';
    var wiaCommandUnloadDocument = '{1F3B3D8E-ACAE-11D2-A093-00C04F72DC3C}';

    // Picture formats
    var wiaFormatBMP = '{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}';
    var wiaFormatPNG = '{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}';
    var wiaFormatGIF = '{B96B3CB0-0728-11D3-9D7B-0000F81EF32E}';
    var wiaFormatJPEG = '{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}';
    var wiaFormatTIFF = '{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}';

    // Группа "Все файлы"
    var RootFilesGroup = '{F03EDFB0-C246-4A9D-B0E4-DA8C8B3DD338}';

    function ConvertImageFile(ImageFile, Format) {
    var IP = System.CreateObject("Wia.ImageProcess");
    IP.Filters.Add(IP.FilterInfos("Convert").FilterID);
    IP.Filters(1).Properties("FormatID").Value = Format;
    var Img = IP.Apply(ImageFile);
    return Img;
    }

    // Сканирование без диалоговых окон на сканер по-умолчанию
    function SilentScan(FileName) {
    try {
    System.BeginProcessing();
    var Device;
    var Dialog = System.CreateObject("WIA.CommonDialog");
    var DeviceManager = System.CreateObject("WIA.DeviceManager");
    var Count = DeviceManager.DeviceInfos.Count;
    for(var j = 1; j <= Count; j++) {
    var DeviceInfo = DeviceManager.DeviceInfos.Item(j);
    if (DeviceInfo.Type == ScannerDeviceType) {
    Device = DeviceInfo.Connect();
    break;
    }
    }
    if (!Assigned(Device)) {
    Log.Write(2, "Сканер не обнаружен.");
    return;
    }
    if ((Assigned(Device.Items)) && (Assigned(Device.Items.Item(1)))) {
    var item = Device.Items.Item(1);
    try {
    var Intent = 1; // цветная печать
    /* Параметры сканирования */
    var Properties = item.Properties;
    for (var i = 1; i <= Properties.Count; i++) {
    var PropItem = Properties.Item(i);
    switch(PropItem.PropertyID) {
    /* Horizontal Resolution */
    case 6147: PropItem.Value = 150;
    break;
    /* Vertical Resolution */
    case 6148: PropItem.Value = 150;
    break;
    /* Horizontal Starting Position (Scanning Area) */
    case 6149: PropItem.Value = 0;
    break;
    /* Vertical Starting Position (Scanning Area) */
    case 6150: PropItem.Value = 0;
    break;
    /* Current Intent */
    case 6146: PropItem.Value = Intent;
    break;
    }
    }
    /* Старт сканирования */
    var imageFile = Dialog.ShowTransfer(item);
    if (Assigned(imageFile)) {
    if (CheckFileExists(FileName)) {
    FileName = GetTemporaryFileName(ShortFileName, false)
    }
    /* Преобразование полученного файла в jpeg */
    var WIAFormat = wiaFormatJPEG;
    var Img = ConvertImageFile(imageFile, WIAFormat);
    Img.SaveFile(FileName);
    }
    } catch(e) {
    Log.Write(2, "При сканировании произошла ошибка. Попробуйте, пожалуйста, еще раз.");
    }
    } else {
    Log.Write(2, "При инициализации произошла ошибка.");
    }
    } finally {
    System.EndProcessing();
    }
    }

    function Main() {
    SilentScan("c:\\temp\\Test.jpg");
    }
     
  4. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    А вот пример скрипта для печати файлов из указанной папки:
    Код (LotusScript):
    Option Explicit
    Const PrintFolder = "C:\Logs\"


    DIM objShell : Set objShell = CreateObject("Shell.Application")
    DIM objFolder : Set objFolder = objShell.Namespace(PrintFolder)
    Dim objItem
    For Each objItem in objFolder.Items
    'WScript.Echo "Printing..." & objItem.Path
    objItem.InvokeVerbEx("Print")
    Next
     
  5. NoRW

    NoRW Гость

    Спасибо за ответ. Постараюсь сделать.
     
Загрузка...

Поделиться этой страницей