#cs
Скрипт предназначен для пакетной обработки pdf файлов.
для каждого файла из текущего каталога создается папка пакета FR с таким же названием, результат распознавания помещается в папку пакета.
Необходимо: FR 8.0., AutoIt3 (http://www.autoitscript.com/autoit3/)
Предварительные настройки:
Установить в системе раскладку клавиатуры умолчанию - английский.
Запустить FR и его интерфейс переключить на английский.
Открыть FR-ом любой (желательно небольшой) pdf файл из папки выбрать необходимые опции распознавания, распознать и сохранить в нужном формате.(Это нужно для сохранения настроек FR)
При этом обратить внимание, чтобы в диалоге сохранения результатов распознавания стоял нужный Вам тип файла, было выбрано All pages, сделаны все настройки форматирования.
После сохранения файла, FR закрыть.
В папке с pdf файлами не должно быть папок-пакетов с такими же названиями (они будут создаваться в процессе работы скрипта).
При необходимости изменить константу $FR_dir.
Для работы с другими типами файлов, например, многостраничными TIFF заменить в скрипте все pdf на tif
Данный скрипт положить в папку с pdf файлами и запустить его.

22.12.07.  Alex
#ce
Const $FR_dir = "C:\Program Files\ABBYY FineReader 8.0 Professional Edition\"
Run($FR_dir&"FineReader.exe")
AutoItSetOption ( "WinTitleMatchMode" , 2 )
$search = FileFindFirstFile("*.pdf")  
If $search = -1 Then
    MsgBox(0, "Error", "No pdf files")
    Exit
EndIf
While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop
    $file_name= StringTrimRight($file, 4); имя файла без расширения ".pdf"
WinWaitActive("ABBYY")
SendKeepActive("ABBYY")
Send("^n", 0); новый пакет
Send("!f") ;
Send("v")
    WinWaitActive("Save")
    Sleep(500)
    ControlSetText ( "Save", "", "Edit1", @WorkingDir&"\"&$file_name );   создаем папку пакета
    Sleep(500)
    Send("{ENTER}")
    Sleep(500)
    Send("^+D")
    ControlSetText ( "Open", "", "Edit1", @WorkingDir&"\"&$file ); открытие и распознавание pdf файла
    Send("{ENTER}")
    WinWaitClose("Adding")
    WinWaitClose("Reading")
    Sleep(500);
    WinWaitActive("ABBYY")
    Sleep(1000);
    Send("^s")
    WinWait("Save")
    Sleep(500);
    ControlSetText ( "Save", "", "Edit1", @WorkingDir&"\"&$file_name&"\"&$file_name );   сохраняем результаты распознавания в папку пакета
    Send("{ENTER}")
    Sleep(500);
        WinWaitClose("Saving")
    Send("!f")
    Send("c")   ;Закрываем пакет
WEnd

FileClose($search)


Hosted by uCoz