#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)