2008-11-27 2 views
4

Есть эта программа pdftotext, которая может конвертировать PDF-файл в текстовый файл. Для того, чтобы использовать его непосредственно на консоли Linux:Преобразование pdf-файлов в txt-файлы с помощью php

pdftotext file.pdf 

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

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

Но когда я запускаю этот код, он не работает. Нет txt-файла. Так что я попытался создать тестовый файл с другой командой:

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

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

EDIT: следующие советы RoBorg, я добавил 2> & 1 аргумент для команды, так:

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

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

pdftotext: ошибка при загрузке shared библиотеки: libfontconfig.so.1: can not открытый файл общих объектов: нет такого файла или справочника

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

ответ

5

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

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

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

+0

напечатало сообщение об ошибке «pdftotext: ошибка при загрузке разделяемых библиотек: libfontconfig.so.1: невозможно открыть файл общих объектов: нет такого файла или каталога« , так как у меня нет доступа root к сервер, я думаю, что я ничего не могу сделать. – 2008-11-27 20:59:40

0

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

+1

Похоже, что эта библиотека предназначена в основном для вывода pdf. Что мне нужно, так это наоборот – 2008-11-27 21:13:01

Смежные вопросы