有这个程序,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:无法打开共享对象文件:没有这样的文件或目录
似乎服务器上缺少某些东西。