Парсинг файлов PDF

Парсер умеет извлекать данные из файлов формата PDF (ПДФ)

Очень важно: для парсинга подходят только файлы с «текстовым слоем» и без защиты, — т.е. такие, где текст можно ВЫДЕЛИТЬ и СКОПИРОВАТЬ. Если же ваши файлы содержат сканы документов (по сути, фотографии, с которых текст не скопировать), то такие файлы обработать не получится. Если файл PDF с «текстовым слоем» и с защитой от копирования, то придется предварительно ВРУЧНУЮ снять эту защиту (например, используя специализированные онлайн-сервисы)

Для извлечения информации из файлов PDF используется стандартный алгоритм парсера файлов, со следующими особенностями:

  1. Для чтения файла используется действие «Скопировать содержимое PDF файла через IE»:
     

    Действие Параметр Значение
    Скопировать содержимое PDF файла через IE Время ожидания после открытия, сек. 1
    Время ожидания копирования, сек. 0
    Количество попыток копирования 1
    Извлекаемый формат из буфера обмена Rich Text Format
    Скачивать файл перед открытием да
    Сохранять файл под именем  
    Сохранять в кеше под именем  

     

  2. ВАЖНО: Для работы парсера требуется, чтобы браузер Internet Explorer умел открывать файлы ПДФ
    Если Internet Explorer не умеет открывать файлы PDF, то необходимо установить расширение Adobe Acrobat Reader для браузеров. Скачать это расширение можно по ссылке: https://get.adobe.com/ru/reader/
     
  3. Данные из PDF можно скопировать как в виде текста, так и с разметкой — в формате RTF (Rich Text Format)
    Обычно из буфера обмена берется содержимое в формате Rich Text Format, и следующим действием преобразуется в HTML при помощи действия «Преобразовать RTF в HTML»
     
  4. Для больших файлов ПДФ (десятки страниц) обязательно увеличивайте таймауты (первые 2 параметра действия), потому что выделение текста и его последующее копирование могут занимать МНОГО времени.
    Время ожидания копирования можно увеличить до 2-3 секунд (в некоторых случаях надо ждать еще дольше, 5-10-30 секунд)
     
  5. Для огромных ПДФ файлов, время считывания информации может измеряться минутами.
    Например, мне попался файл PDF весом 300 мегабайтов (30 тысяч записей, 1000 страниц, — выгрузка переписки из программы Мобильный криминалист), где только выделение текста (после нажатия Ctrl + A) занимало 2-3 минуты, а копирование информации в буфер обмена (Ctrl + C)  длилось около 15 минут. Для таких файлов правильнее будет ВРУЧНУЮ копировать информацию в текстовый файл, и потом уже парсить текст из файла.

 

Примеры настройки парсера PDF файлов можно найти в каталоге парсеров файлов:

 

Комментарии

Здравствуйте, Сергей.
Не могу сказать, почему так происходит.
Многое зависит от версии Adobe Reader и версии IE, а также от самого файла PDF.
Особенно вероятны проблемы, если файл объемный (надо долго ждать, пока выделится и скопируется)
Этот функционал предназначен для обработки небольших ПДФ файлов (одна или несколько страниц) - там обычно всё работает нормально.

Добрый вечер!
Файл PDF в IE открывается, но почему-то сочетание Ctrl+A и Ctrl+C не срабатывает.
PDF текстовый, защиты нет. Задержки увеличивал. Антивирус отключал. Но не помогает.
Если в процессе, пока открыто окно IE с файлом PDF, самому перейти в IE и нажать Ctrl+A и Ctrl+C, то после завершения ожидания текст в парсер корректно подтягивается. Но автоматически не срабатывает.
В чем может быть дело?