У меня есть приложение, в котором пользователи могут загружать pdf
, которые преобразуются в text
для дальнейшей обработки. Дело в том, что некоторые загруженные файлы - это изображение pdf, поэтому преобразование не работает. Вместо того, чтобы отправлять все PDF-файлы для разделения на изображения, а затем ocr их, я бы предпочел отправить только те, которые были доказаны или обнаружены, чтобы быть изображениями, есть ли способ сделать это, я работаю в среде linux (debian)
с php
Как определить, является ли pdf текст или изображение
UPDATE
в поисках окончательного решения я следовал @ предложению Андрея, считая количество слов в сгенерированном текстовом файле, если это слово менее чем 10 перейти к следующему шагу: PDF в изображения для последующего использования ocr, это то, над чем я сейчас работаю ...
// convert any file with pdf extension to text
$cmd = "pdftotext -eol unix '$uploadedfile'";
shell_exec($cmd);
// save original file at the orig directory
rename("$uploadedfile", "orig/$uploadedfile");
// pdftotext renames files to txt so I need the file name with txt extension
$textfile = preg_replace('"\.(pdf|PDF)$"', '.txt', $uploadedfile);
// count words on the generated txt file
$cmd = "wc -w '$textfile' | cut -f1 -d' '";
$wc = shell_exec($cmd);
// proceed if words are less than 10
if ($wc < 10)
{
//take out the pdf extension for directory creation
$imgdir = preg_replace('"\.(pdf|PDF)$"', '', $uploadedfile);
$cmd = "mkdir '$imgdir'";
shell_exec($cmd);
//change pdf extension to jpg for images creation
$imgfile = preg_replace('"\.(pdf|PDF)$"', '.jpg', $uploadedfile);
//convert pdf to images
$cmd = "convert 'orig/$uploadedfile' '$imgdir/$imgfile'";
тогда придет ОРЗ ...
UPDATE2 Благодаря предложению @ Марк-Setchell я изменил немного кода, теперь последняя часть таким образом:
//take out the pdf extension for directory creation
$imgdir = preg_replace('"\.(pdf|PDF)$"', '', $uploadedfile);
$cmd = "mkdir '$imgdir'";
shell_exec($cmd);
//convert pdf to images
$cmd = "pdfimages 'orig/$uploadedfile' '$imgdir/$imgdir'";
Ну, попробуйте получить текст. Если ваша попытка не удалась, затем отправьте на OCR – Andrew
Итак, у меня должен быть способ проверить, есть ли текст или достаточно текста в выходном файле? ... любое предложение ... спасибо –
Не у вас есть приложение, которое «конвертирует PDF в текст», как вы заявили в вопросе? –