使用php将pdf文件转换为txt文件

问题描述:

有这个程序,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:不能 打开共享目标文件:没有这样的文件 或目录

似乎在服务器上缺少某些东西。

这可能是一个权限问题,但尝试这个:

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

2>&1将stderr重定向到stdout,因此将打印任何错误消息。从此以后修复应该很容易。

+0

它打印了一条错误消息 “pdftotext:加载共享库时出错:libfontconfig.so.1:无法打开共享对象文件:没有这样的文件或目录” 因为我没有root权限服务器,我想我没有什么可以做的。 – 2008-11-27 20:59:40

PHP在PDF函数库构建,应该能够给你所需要的东西:
http://nl3.php.net/pdf

+1

似乎该库主要是用于输出pdf。我需要的是其他方式 – 2008-11-27 21:13:01

安装此。它解决了我的问题。

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

现在,pdftotext的伟大工程。