Скрипт пакетного распознавания PDF

Домашняя страница скрипта. Скрипт сохраните с расширением .au3 и положите в папку с обрабатываемыми PDF. Сам пользуюсь возможно другой версией, взятой с официального форума Finereader: ocrpdf.zip

Англоязычный язык ввода на клавиатуре по умолчанию при загрузке системы в Windows XP можно выставить по инструкции.

Чтобы обработка не приостанавливалась, когда отключается экран монитора,
 отключите это в настройках.

Сначала почитайте описание про Finereader.

Отсортировать PDF файлы с уже распознанным текстом, можно программой Balabolka, так как в описании для DJVU. При этом на закрытых паролем файлах произойдет остановка и вывод сообщения. Можно записать имя документа, затем, если правильно помню, нажать Отмена и продолжить преобразование. В некоторых случаях может оказаться, что файл не запаролен, а почему то не считывается программой Балаболка, в этом случае текст из PDF можно попытаться сохранить, если он там есть, через SumatraPDF (старая версия 2.3.2 мне больше нравится).

Полуавтоматическое переименование имен файлов в цифры и обратно.


Вот настройки, которые необходимо выставить при первом распознавании небольшого файла, чтобы Finereader запомнил пути и другие параметры. Обратите внимание на выпадающее меню Format. Такой вариант рекомендуется в 8 версии, если в основном документы с текстом, без серых или цветных изображений. Результат будет черно-белым. Если нужно высокое качество фотографий и рисунков, тогда поставьте в этом выпадающем меню самый верхний пункт автоматического выбора.

В этом случае, в режиме, когда сохраняются в цветном варианте страницы, могут получаться файлы PDF большого объема, по несколько сотен мегабайт. Чтобы не было сбоя, большие исходные файлы (по несколько десятков мегабайт) рекомендуется разрезать (описал ниже) автоматически или вручную, если картинки в одном месте документа, а в другом черно - белый текст. Такой файл можно обработать вручную, распознав цветное в одном режиме, а черно-белое в другом, а затем склеить в программе PDFSAM. В то же время, есть ресурсоемкие ПК, на которых файлы вызывают меньше сбоев, чем на других. Как вариант, лучше заранее распределить файлы по группам, чтобы те, в которых только черно - белых сканы высокого качества, распознать отдельно.

Первый раз, если будет предложено сохранить пакет после распознавания, не делайте этого, просто закройте окно с сообщением и затем Finereader.

 У себя путь до папки с файлами выставил латинскими буквами, может это имеет какое то значение.

Для начала работы запускаем скрипт, щелкая по нему. Он запустит Finereader. Далее работа начнется на автомате или возможно надо будет в окне указать первый файл с именем таким же, как и у создаваемого первого пакета.


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

Примечание. Данная проблема начала давать только единичные остановки.
Удалось решить, произведя настройку по пути (в меню «Пуск» начало):
Панель управления - Вид по категориям (слева вверху) - Дата, время, язык и региональные стандарты - язык и региональные стандарты - выставить «Английский (США)».


Бывает, что при постановке на обработку новых файлов Finereader не видит рабочую папку и сохраняет в «Мои документы» (при этом сохранение тоже надо запускать вручную). В этом случае иногда может помочь открытие на обработку в Finereader из рабочей директории и сохранение в ней маленького файла. Перед этим сначала надо в трее выгрузить скрипт AutoIT при обнаружении такой проблемы. Убрать из общей папки уже распознанный результат. Может при этом надо ставить скрипт в трее на паузу. Пока что не понял, каким должен быть алгоритм в этой ситуации.

Чтобы избежать этой проблемы, можно попробовать перед распознаванием каждой новой группы файлов брать маленький PDF и распознавая, сохранять его в общей рабочей директории. Как думаю, почему это может помочь. Когда мы убрали файлы предыдущих проектов, Finereader теряет место сохранения последнего файла.


Иногда не начинается расспознавание на автомате, а выводится сообщение "No recognized pages among selected pages". Пока не запомнил, как решать эту проблему. Возможно надо выгрузить скрипт, возможно удалить созданную Finereader папку и стартовать по новой.


Проблема с файлами, размером по несколько десятков мегабайт

Примечание. Проблему удается решить, нарезая большие файлы, на например по 10 мегабайт в программе PDFSAM (требует Java. Для установки в WindowsXP с дистрибутива для offlain инсталяции
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html (Windows x86 Offline) можно проигнорировать сообщение о прекращении поддержки XP, у меня нормально установилось)).

При этом бывает, что файлы большого размера, но малого количества страниц (около 30 или менее) нормально обрабатываются. Надо пробовать.

В последнее время режу на части программой со страницы
http://www.techtipsforall.com/pdf-help/pdf-split-and-extract-pages-using-free-pdf-splitter/ В ней надо счелкать на колличестве частей и вставлять свое значение. А после этого выделить все файлы перед нажатием "Split into parts".

Файлы небольшого размера, по несколько мегабайт, не вызывали у меня сбой системы. И нижеописанное со временем удалось решить, как описал выше, разрезая, большие по размеру файла, документы на части.

На первом ПК распознавал документы, состоящие в основном из черно-белого текста. На втором со множеством картинок. На первом иногда, а на втором намного чаще происходил сбой и выводилось сообщение, что недостаточно памяти. Было в обоих случаях при операционной системе Windows XP установлено 2 Гб оперативной памяти.

Режим использования жесткого диска выставлялся следующим образом в одной из операционных систем в качестве эксперимента при поиске варианта решения проблемы (в разделе операционной системы было специально оставлено много места, скриншоты делаю на другой операционной системе, не на той, где велись эксперименты по пакетному распознаванию):


Следующим шагом в разработке данной технологии хочу попробовать следующий вариант (нужно найти или написать дополнительную программу). PDF файлы автоматически разрезаются на части, им присваивается индетификационная последовательность символов. После распознавания склейка обратно происходит в автоматическом режиме. Нужно будет посмотреть возможности командной строки DPFSAM.

Также надо написать сортировщик черно - белых документов от цветных и серых для сохранения результатов в разных вариантах для оптимизации размера. А возможно это лишний функционал, так как со временем стал все сохранять в режиме автоматического выбора настроек изображения.

К оглавлению