Вопрос или проблема
Я на Chromebook с Debian и pdfgrep v2.1.2. У меня есть PDF-файл полного отчета Мюллера, в котором я время от времени хочу искать определенные ссылки. Pdfgrep этого файла для любого шаблона быстро не возвращает ничего. Pdftotext, похоже, не может с этим справиться и создает очень короткий файл с мусором. Pdfinfo выдает следующее:
Название:
Создатель: RICOH MP C6502
Производитель: RICOH MP C6502
Дата создания: Ср, 17 апр 2019 15:23:21 PDT
Дата изменения: Ср, 17 апр 2019 15:59:41 PDT
Пользовательские метаданные: нет
Поток метаданных: да
Тегирование: нет
Пользовательские свойства: нет
Подозреваемые: нет
Форма: AcroForm
JavaScript: нет
Страницы: 448
Зашифрован: нет
Размер страницы: 792 x 612 pts (letter)
Поворот страницы: 270
Размер файла: 145509756 байт
Оптимизирован: да
Версия PDF: 1.6
Может быть, pdfgrep несовместим с версией PDF этого файла?
Поскольку он был создан многофункциональным принтером, PDF, вероятно, содержит только сканированные изображения отчета. Без OCR (который принтер не выполнит) он не будет содержать текст, который мог бы обработать pdftotext
или pdfgrep
.
Графические PDF-просмотрщики прекрасно отображают изображения, поэтому у них не будет никаких трудностей с отображением данного PDF.
Ответ или решение
Да, существуют PDF-файлы, которые pdfgrep не может искать, но которые могут отображаться с помощью xpdf. Ваша ситуация с PDF-документом полного отчета Мюллера является отличным примером для объяснения этой проблемы.
### 1. Введение
PDF-файлы могут содержать различные типы данных: текст, изображения и даже сложные графические объекты. Однако способы их создания и кодирования могут повлиять на то, как программы обрабатывают содержимое этих файлов. В вашем случае, документ был создан многофункциональным принтером, который, скорее всего, отсканировал страницы с помощью изображения, что привело к созданию PDF-документа, содержащего только графические данные без прикрепленного текстового слоя.
### 2. Причины, почему pdfgrep не работает
##### Отсутствие текста
Основной причиной, по которой pdfgrep не может найти нужные вам шаблоны, является отсутствие текстового содержимого в PDF. Если файл состоит только из изображений, инструменты, такие как pdftotext и pdfgrep, не смогут извлечь искомую информацию. В отличие от текстовых PDF, графические PDF не содержат текстовые объекты, что делает невозможным их поиск с использованием текстовых инструментов.
##### Совместимость с версиями PDF
Хотя pdfgrep поддерживает PDF-файлы версии 1.6, в вашем случае центральным вопросом является не версия, а отсутствие текстовой информации. Однако, даже если pdfgrep был совместим с форматом, отсутствие текстовых данных делает его бесполезным для поиска.
### 3. Почему xpdf может отображать PDF
xpdf и другие графические PDF-просмотрщики могут открывать такие файлы без проблем, потому что они предназначены для работы с графикой. Они могут отображать изображения, даже если не могут извлечь текст. Это объясняет, почему вы можете просматривать отчет, но не можете извлечь информация для поиска.
### 4. Решение проблемы
Для того чтобы выполнить полноценный поиск текста в подобном PDF-файле, вы можете использовать технологию оптического распознавания символов (OCR). С помощью программного обеспечения OCR можно преобразовать изображения текста в редактируемый текст, и после этого такие инструменты, как pdfgrep и pdftotext, смогут обрабатывать полученный документ.
### 5. Заключение
PDF-файлы, содержащие только изображения, действительно могут представлять собой проблему для поиска текстовых данных с использованием инструментов, таких как pdfgrep. В вашем случае, для успешного поиска в отчете Мюллера, рекомендуется использовать OCR для извлечения текста из изображений в PDF-документе. Таким образом, вы получите возможность эффективно и точно проводить поиск по интересующим вас данным.