这个程序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&gt;&amp; 1参数,所以:
<?php
system('pdftotext file.pdf 2>&1');
?>
它打印了一条错误消息:
pdftotext:加载共享时出错 库:libfontconfig.so.1:不能 打开共享对象文件:没有这样的文件 或目录
似乎服务器上缺少某些内容。
答案 0 :(得分:5)
这可能是一个权限问题,但请尝试这样做:
<?php
system('pdftotext file.pdf 2>&1');
?>
2>&1
将stderr重定向到stdout,因此将打印任何错误消息。从那时起它应该很容易修复。
答案 1 :(得分:0)
PHP有一个内置的PDF函数库,它应该能够满足你的需求:
http://nl3.php.net/pdf
答案 2 :(得分:0)
安装此。它解决了我的问题。
http://www.ssforge.com/ssforge-standard/onlinehelp/help/faq/libstdc.html
现在,pdftotext效果很好。