4

有这个程序,pdftotext,可以将pdf文件转换为文本文件。要直接在 linux 控制台上使用它:

pdftotext file.pdf

这将在与 pdf 文件相同的目录中生成一个 file.txt。我正在寻找一种从 php 程序内部执行此操作的方法,经过一番谷歌搜索后,我以两个对我有用的命令结束:system()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:无法打开共享对象文件:没有这样的文件或目录

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

4

3 回答 3

5

这可能是权限问题,但请尝试以下操作:

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

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

于 2008-11-27T18:52:58.533 回答
0

PHP 有一个内置的 PDF 函数库,应该能够为您提供所需的内容:http:
//nl3.php.net/pdf

于 2008-11-27T18:31:54.380 回答
0

安装这个。它为我解决了这个问题。

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

现在,pdftotext 效果很好。

于 2011-07-15T20:50:24.173 回答