Я использую pdfgrep
для поиска всех появлений ключевого слова в документе PDF.
Теперь я хочу сделать это через PHP, чтобы использовать его на своем веб-сайте.
Однако, когда я запускаю:
$output = shell_exec("pdfgrep -i $keyword $file");
$var_dump($output);
Где $keyword
- ключевое слово, а $file
- файл, я не получаю весь вывод.
Файл PDFсостоит из таблицы кодов продуктов, названий продуктов и цен на продукты.
Когда я выполняю команду через терминал, я вижу всю строку данных:
product code 1 product name with keyword substring corresponding price
product code 2 product name with keyword substring corresponding price
product code 3 product name with keyword substring corresponding price
Однако, когда я запустил его через PHP, я получил что-то вроде:
name with keyword substring with keyword substring product code 1
product name with keyword substring product name with keyword substring
corresponding price
Он просто не получает все данные.Он не всегда получает код продукта и цену, и было много случаев, когда он не может получить также полное название продукта.
Я просматриваю вывод через браузер и вставляю header('Content-Type: text/plain');
но это только предварительно выводит выходные данные, данные по-прежнему неполные.
Я попытался запустить точно такой же сценарий оболочки через Python3.6, и это дало мне желаемый результат.
Теперь я попытался запустить тот же сценарий Python через PHP, но я все еще получаю тот же неправильный вывод.
Я пытался запустить ключевое слово, которое, как я знаю, вернет более короткий вывод, но я все ещене получить всю нужную строку данных.
Есть ли способ надежно получить все данные, выдаваемые командой shell_exec()
?
Существуют ли альтернативы, такие как другойкоманда или запуск сценария Python с сервера (поскольку сценарий Python в любом случае не имеет проблем).