Недавно я настроил сервер Linux, чтобы иметь возможность преобразовывать текстовые PDF-файлы в текст, используя pdftotext
команда, которая является частью Xpdf, а также для преобразования PDF-файлов на основе изображений в текст, используя комбинацию gs
(Ghostscript) и tesseract
команды.
Оба решения работают довольно хорошо, когда я уже знаю, является ли PDF текстовым или графическим. Однако для того, чтобы автоматизировать процесс преобразования многих PDF-файлов в текст, мне нужно иметь возможность определить, является ли PDF-файл текстовым или графическим, чтобы я знал, какой набор процессов нужно запускать в PDF.
Есть ли в PHP способ проанализировать PDF-файл и сказать, является ли он текстовым или графическим, чтобы я знал, использовать ли на нем Xpdf или Ghostscript / Tesseract?
Сравнение выходных данных и определение того, совпадает ли полученный текст из прогона OCR с выходным сигналом из прогона Xpdf, является нетривиальным квестом. В случае текста PDF, который нельзя распознать (например, очень маленькие буквы), где текст может быть извлечен с помощью xpdf, вы даже закончите с большим количеством ненужного бреда.
Я хотел бы предложить извлечь изображения из PDF-файлов и OCR только те, а не полный PDF. Сюда
Поскольку вы уже используете xpdf, вы можете использовать pdfimages -all
извлечь изображения.
Других решений пока нет …