Проверьте, является ли файл PDF отсканированным - PullRequest
9 голосов
/ 08 марта 2010

Как лучше всего программно проверить, является ли файл PDF полностью отсканированным? У меня есть iText и PDFBox. Я могу проверить, содержит ли файл PDF текст или нет, и в зависимости от результата решить, является ли этот файл OCRed, но это решение не на 100% точно Я хотел бы знать, есть ли другой способ справиться с проблемой.

Как вы понимаете, решение должно основываться на Java.

Ответы [ 6 ]

3 голосов
/ 09 марта 2010

Лучше всего проверить, есть ли в нем текст, а также посмотреть, содержит ли оно изображение большого размера или множество мозаичных изображений, которые покрывают страницу. Если вы также проверите метаданные, это должно охватывать большинство вариантов.

1 голос
/ 09 марта 2010

Вы можете проверить, есть ли в PDF какие-либо ресурсы шрифтов (довольно хороший показатель того, содержит ли документ какие-либо шрифты), используя функцию HasFontResources в Quick PDF Library Lite - бесплатный ActiveX компонент, который теоретически можно использовать из Java с помощью стороннего дополнения.

Проверка ресурсов текста / шрифта является наиболее точным методом определения того, возможно ли, что PDF был сгенерирован в процессе сканирования. Это в сочетании с предложением Марка Стивенса о поиске изображения большого размера и т. Д.

Но, к сожалению, не существует 100% гарантированного точного метода проверки того, был ли отсканирован PDF.

1 голос
/ 08 марта 2010

ИМХО, вы не можете решить это точно. Но вы можете попробовать некоторые вещи, такие как поиск текста, попытка распознавания PDF-файла и, исходя из объема распознанного текста, вы можете найти некоторые основные ошибки сканирования, такие как затухание или поля бумаги / книги.

0 голосов
/ 14 октября 2016
find ./ -name "*.pdf" -print0 | xargs -0 -I {} bash -c 'export file="{}"; if [ $(pdffonts "$file" 2> /dev/null | wc -l) -lt 3 ]; then echo "$file"; fi'

Объяснение: pdffonts file.pdf покажет более 2 строк, если pdf содержит текст. Выводит имена файлов всех PDF-файлов, которые не содержат текст, поэтому сканируются PDF-файлы.

0 голосов
/ 09 марта 2010

Я просто сужу по размеру. Отсканированные документы неоправданно велики. Для 1000 страниц, мое эмпирическое правило, истинный текст pdf: 1-20 М, отсканированное может быть до 30-100 М *

0 голосов
/ 08 марта 2010

Знаете ли вы, как документ был бы отсканирован, если бы это было? Хотя элемент метаданных «Создатель» не является обязательным, он может оказаться полезным, если ваш сканер установит его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...