Obtendo os resultados de pdftotext em uma variável php, e não um arquivo de texto

StackOverflow https://stackoverflow.com/questions/1422160

  •  07-07-2019
  •  | 
  •  

Pergunta

pdftotext leva um arquivo PDF e converte o texto em um arquivo .txt.

Como eu iria sobre a obtenção de pdftotext para enviar o resultado a uma variável PHP em vez de um arquivo de texto?

Eu estou supondo que eu tenho que correr exec('pdftotext /path/file.pdf'), mas como faço para obter a parte de trás resultado?

Foi útil?

Solução

Você precisa capturar 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;
}

Outras dicas

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

O - irá instruir pdftotext para retornar o resultado para stdout em vez de um arquivo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top