使用php将pdf文件转换为txt文件
有一个程序,pdftotext,可以将pdf文件转换成文本文件。要在linux控制台上直接使用它,请执行以下操作:使用php将pdf文件转换为txt文件,php,pdf,text-files,Php,Pdf,Text Files,有一个程序,pdftotext,可以将pdf文件转换成文本文件。要在linux控制台上直接使用它,请执行以下操作: pdftotext file.pdf 这将在与pdf文件相同的目录中生成file.txt。我一直在寻找一种在php程序中实现这一点的方法,在谷歌搜索之后,我使用了两个应该适合我的命令:system()和exec()。因此,我用以下内容制作了一个php文件: <?php system('pdftotext file.pdf'); ?> 但当我运行这段代码时
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:无法
打开共享对象文件:没有此类文件
或目录
服务器上似乎缺少一些内容。PHP有一个内置的PDF函数库,应该能够提供您所需的内容:
这可能是权限问题,但请尝试以下方法:
<?php
system('pdftotext file.pdf 2>&1');
?>
2>&1
将stderr重定向到stdout,因此将打印任何错误消息。从那时起,它应该很容易修复。安装这个。它为我解决了问题
现在,pdftotext工作得很好。它打印了一条错误消息“pdftotext:加载共享库时出错:libfontconfig.so.1:无法打开共享对象文件:没有这样的文件或目录”。由于我没有服务器的根访问权限,我想我无能为力。该库似乎主要用于输出pdf。我需要的是另一种方式