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

lie*_*ewl 4 php pdf text-files

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

pdftotext file.pdf
Run Code Online (Sandbox Code Playgroud)

这将在与pdf文件相同的目录中生成file.txt.我正在寻找一种方法来从php程序中完成它,并在一些谷歌搜索后,我结束了两个应该适合我的命令:system()exec().所以我用这个做了一个php文件:

<?php
    system('pdftotext file.pdf');
?>
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,它不起作用.没有创建txt文件.所以我尝试用另一个命令创建一个测试文件:

<?php
    system('touch test.txt');
?>
Run Code Online (Sandbox Code Playgroud)

这很好.我也使用了exec(),结果是一样的.为什么不起作用?

编辑:按照RoBorg的建议,我在命令中添加了2>&1参数,所以:

<?php
    system('pdftotext file.pdf 2>&1');
?>
Run Code Online (Sandbox Code Playgroud)

它打印了一条错误消息:

pdftotext:加载共享库时出错:libfontconfig.so.1:无法打开共享对象文件:没有这样的文件或目录

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

Gre*_*reg 5

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

<?php
    system('pdftotext file.pdf 2>&1');
?>
Run Code Online (Sandbox Code Playgroud)

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