Преобразование PDF-файлов в TXT-файлы с помощью PHP - PullRequest
4 голосов
/ 27 ноября 2008

Есть эта программа, pdftotext, которая может конвертировать файл pdf в текстовый файл. Чтобы использовать его непосредственно на консоли Linux:

pdftotext file.pdf

Это создаст файл file.txt в том же каталоге, что и файл PDF. Я искал способ сделать это из программы php, и после некоторого поиска в Google я закончил двумя командами, которые должны работать для меня: system () и exec () . Итак, я сделал php-файл с этим:

<?php
    system('pdftotext file.pdf');
?>

Но когда я запускаю этот код, он не работает. Файл TXT не создается. Поэтому я попытался создать тестовый файл с помощью другой команды:

<?php
    system('touch test.txt');
?>

Это сработало нормально. Я также использовал exec (), и результаты были такими же. Почему это не работает?

РЕДАКТИРОВАТЬ: Следуя советам Роборга, я добавил в команду аргумент 2> & 1, поэтому:

<?php
    system('pdftotext file.pdf 2>&1');
?>

напечатано сообщение об ошибке:

pdftotext: ошибка при загрузке библиотеки: libfontconfig.so.1: невозможно открыть общий объектный файл: такого файла нет или каталог

Похоже, что-то не хватает на сервере.

Ответы [ 3 ]

5 голосов
/ 27 ноября 2008

Возможно, это проблема с разрешениями, но попробуйте вместо этого:

<?php
    system('pdftotext file.pdf 2>&1');
?>

2>&1 перенаправляет stderr на стандартный вывод, поэтому любые сообщения об ошибках будут напечатаны. Это должно быть довольно легко исправить с тех пор.

0 голосов
/ 16 июля 2011

установите это. это решило проблему для меня.

http://www.ssforge.com/ssforge-standard/onlinehelp/help/faq/libstdc.html

Теперь pdftotext прекрасно работает.

0 голосов
/ 27 ноября 2008

PHP имеет встроенную библиотеку функций PDF, которая должна дать вам то, что вам нужно:
http://nl3.php.net/pdf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...