pythonScript = __DIR__ . '/document_detector.py'; $this->pythonPath = 'python'; // ou 'python3' dependendo do sistema if (!file_exists($this->pythonScript)) { throw new Exception('Script Python não encontrado'); } } public function processDocument(string $inputPath, string $outputPath): array { if (!file_exists($inputPath)) { throw new Exception('Arquivo de entrada não encontrado'); } // Escapa argumentos para segurança $inputPath = escapeshellarg($inputPath); $outputPath = escapeshellarg($outputPath); // Executa script Python $command = sprintf('%s %s %s %s 2>&1', $this->pythonPath, escapeshellarg($this->pythonScript), $inputPath, $outputPath ); $result = shell_exec($command); if ($result === null) { throw new Exception('Falha ao executar o script Python'); } $response = json_decode($result, true); if (!$response || !isset($response['success'])) { throw new Exception('Resposta inválida do script Python: ' . $result); } if (!$response['success']) { throw new Exception('Falha no processamento: ' . ($response['message'] ?? 'Erro desconhecido')); } return $response; } }