Есть программа pdftotext, которая может преобразовать файл PDF в текстовый файл. Чтобы использовать его непосредственно на консоли Linux:
pdftotext file.pdf
Это создаст файл .txt в том же каталоге, что и файл pdf. Я искал способ сделать это изнутри программы php, и после некоторого поиска в Google я нашел две команды, которые должны работать для меня: system() и exec(). Итак, я сделал файл php с этим:
<?php
system('pdftotext file.pdf');
?>
Но когда я запускаю этот код, он не работает. Текстовый файл не создается. Поэтому я попытался создать тестовый файл с помощью другой команды:
<?php
system('touch test.txt');
?>
Это сработало нормально. Я также использовал exec(), и результаты были такими же. Почему это не работает?
EDIT: следуя совету RoBorg, я добавил в команду аргумент 2>&1, поэтому:
<?php
system('pdftotext file.pdf 2>&1');
?>
он напечатал сообщение об ошибке:
pdftotext: ошибка при загрузке общих библиотек: libfontconfig.so.1: невозможно открыть общий объектный файл: нет такого файла или каталога
Похоже на сервере чего-то не хватает.