2008-11-27 90 views
4

有這個程序,pdftotext,可以將PDF文件轉換爲文本文件。要直接在Linux控制檯上使用它:使用php將pdf文件轉換爲txt文件

pdftotext file.pdf 

這將在與pdf文件相同的目錄中生成一個file.txt文件。我正在尋找一種方法來執行它從一個PHP程序,並在一些谷歌搜索後,我結束了兩個命令,應該爲我工作:系統()exec()。所以我做了一個這樣的PHP文件:

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

但是,當我運行此代碼,它不起作用。沒有txt文件被創建。 所以我試圖創建另一個命令測試文件:

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

這工作得很好。我也用過exec(),結果是一樣的。爲什麼它不起作用?

編輯:以下RoBorg建議,我添加了2> & 1參數的命令,所以:

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

它打印的錯誤信息:

pdftotext:錯誤而載入共享 庫:libfontconfig.so.1:不能 打開共享目標文件:沒有這樣的文件 或目錄

似乎在服務器上缺少某些東西。

回答

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