我正在尝试在基于 Windows 的 Apache 服务器上使用 tesseract 执行 OCR。这让我很生气。以下不会产生预期的 E:\zzz.txt 文件:
<?php
$command = "\"C:\\ocr\\tesseract.exe\" \"E:\\www\\test\\upload\\proofs\\src\\yehia.raef.jpg\" \"E:\\zzz\" 2>&1";
print $command;
exec("$command", $msg);
print_r($msg);
?>
当我运行程序时,这是我得到的:
C:\Users\blob\Desktop>php ici.php
"C:\ocr\tesseract.exe" "E:\www\test\upload\proofs\src\yehia.raef.jpg" "E:\zzz" 2>&1
Array
(
[0] => The filename, directory name, or volume label syntax is incorrect.
)
但是现在如果直接从提示符运行命令:
C:\Users\blob\Desktop>"C:\ocr\tesseract.exe" "E:\www\test\upload\proofs\src\yehia.raef.jpg" "E:\zzz" 2>&
Tesseract Open Source OCR Engine v3.02 with Leptonica
它就像一个魅力。请注意,这种命令可以与 ImageMagick 等其他软件完美配合...
帮助!