'Image base64 required']); exit; } $tmp = '/tmp/ocr_' . uniqid() . '.png'; file_put_contents($tmp, base64_decode($image)); $output = []; exec("tesseract '$tmp' stdout -l $lang 2>/dev/null", $output); $text = trim(implode("\n", $output)); @unlink($tmp); echo json_encode([ 'success' => !empty($text), 'text' => $text, 'chars' => strlen($text) ]);