将pdftotext的结果转换为php变量,而不是文本文件

时间:2009-09-14 15:09:14

标签: php pdf-generation

pdftotext采用PDF文件并将文本转换为.txt文件。

我如何获取pdftotext将结果发送到PHP变量而不是文本文件?

我假设我必须运行exec('pdftotext /path/file.pdf'),但如何取回结果呢?

2 个答案:

答案 0 :(得分:7)

$result = shell_exec("pdftotext file.pdf -");

-将指示pdftotext将结果返回到stdout而不是文件。

答案 1 :(得分:2)

您需要捕获stdout / stderr:

function cmd_exec($cmd, &$stdout, &$stderr)
{
    $outfile = tempnam(".", "cmd");
    $errfile = tempnam(".", "cmd");
    $descriptorspec = array(
        0 => array("pipe", "r"),
        1 => array("file", $outfile, "w"),
        2 => array("file", $errfile, "w")
    );
    $proc = proc_open($cmd, $descriptorspec, $pipes);

    if (!is_resource($proc)) return 255;

    fclose($pipes[0]);    //Don't really want to give any input

    $exit = proc_close($proc);
    $stdout = file($outfile);
    $stderr = file($errfile);

    unlink($outfile);
    unlink($errfile);
    return $exit;
}