Подтвердить что ты не робот

Как узнать, содержит ли PDF только изображения или был обнаружен OCR для поиска?

У меня есть куча PDF файлов, которые поступают из отсканированных документов. Файлы содержат сочетание изображений и текста. Некоторые из них были отсканированы как изображения без OCR, поэтому каждая страница PDF является одним большим изображением, даже если вся страница полностью текстовая. Другие были отсканированы с помощью OCR и содержат изображения и текст с возможностью поиска, где присутствует текст. Во многих случаях даже слова в изображениях были доступны для поиска.

Я хочу сделать автоматизированный процесс распознавания текста во всех проверенных документах с помощью OCR с помощью Acrobat 8 ​​Pro, но я не хочу повторно отображать файлы, которые уже прошли через процесс OCR в мимо. Кто-нибудь знает, есть ли способ определить, какие из них содержат только изображения, а какие уже содержат текст с возможностью поиска?

Я планирую делать это на С# или VB.NET, но я не думаю, что возможность рассказать обо всех типах файлов зависит от языка.

4b9b3361

Ответ 1

Сканированные изображения, преобразованные в PDF, которые были OCR'ed в последствии, чтобы сделать текстовый поиск, обычно содержат текстовые части, отображаемые как "невидимые". Так что вы видите на экране (или на бумаге при печати) все еще оригинальное изображение. Но когда вы search успешно, вы получите выделенные хиты, которые находятся на невидимом тексте.

Я бы рекомендовал вам ознакомиться с инструментами командной строки, созданными XPDF pdffonts(.exe), pdfinfo(.exe) и pdftotext(.exe). Смотрите здесь для загрузки: http://www.foolabs.com/xpdf/download.html

Пример использования pdffonts:

C:\downloads\> pdffonts cisco-ip-phone-7911-guide6.1.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
LGOKFL+Univers-BlackOblique          Type 1C           yes yes no   13171  0
LGOKGM+Univers-Black                 Type 1C           yes yes no   13172  0
[....]

В этом PDF-шрифте используются шрифты (обозначенные столбцом "name" ), они встроены (обозначены "да" в столбце "emb" ) и используют шрифты подмножества (обозначенные "да" в "под", столбец).

C:\downloads\> pdffonts examle1.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
Univers-BlackOblique                 Type 1C           yes no  no   14    0
Arial                                TrueType          no  no  no   15    0

В этом PDF файле используются два шрифта (обозначается столбцом "name" ). Шрифт "Universe-BlackOblique" полностью внедрен (обозначается "да" в столбце "emb" и "нет" в столбце "под" ). Шрифт "Arial" также используется, но не встроен.

C:\downloads\> pdffonts examle2.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------

В этом PDF файле используется не один шрифт, и, следовательно, он не имеет встроенного текста (поэтому OCR не существует).

Пример использования pdftotext:

C:\downloads\> pdftotext ^
                   -layout ^
                   cisco-ip-phone-7911-guide6.1.pdf ^
                   cisco-ip-phone-7911-guide6.1.txt

Это извлечет все текстовые строки из PDF (пытаясь сохранить некоторое сходство с исходным макетом). Если в PDF нет текста, вы бы знали, что OCR не было...

Ответ 2

Различные инструменты PDF могут сказать вам, есть ли там текст. Некоторые из них доступны как элементы управления COM, и, возможно, даже собственные .NET.

Ответ 3

Откройте документ в acrobat. Перейдите в меню Файл → Свойства. Посмотрите раздел "Дополнительно" и найдите производителя PDF. Если он читает что-то вроде "Paper Capture...", тогда он был OCR'd.

Надеюсь, что это поможет.

Ответ 4

Apago pdfspy извлекает информацию из PDF в файл XML. Он включает информацию о документе, включая изображения и текст. Для вашего проекта полезная информация включает в себя количество изображений и размер и там, где есть OCR (скрытый) текст.

http://www.apagoinc.com/pdfspy

Ответ 5

Извините, что выкопал старый поток, но если вы нашли это, посмотрите мой поток:

Пакетная программа OCR для PDF файлов

вы можете получить дополнительную информацию о pdf, указав ее в unix/linux/osx или открыв ее как "rb" в python. (конечно, что питон, и вы не хотели его использовать, но, возможно, он имеет нечто эквивалентное).

Ответ 6

Очень низкотехнологичное решение: любой файл с отсканированным текстом, без сомнения, будет содержать букву "a", поэтому выполните поиск по всему содержимому файла, не содержащему буквы a. т.е. "НЕ a". Любой файл, который отображается, не был OCR'd

Ответ 7

Используйте "dtsearch" для создания индекса для всех файлов PDF... затем "просмотрите файл журнала" процесса индексирования, чтобы проверить список файлов PDF, которые не были проиндексированы.