Php ABBYY云光学字符识别

Php ABBYY云光学字符识别,php,html,ocr,abbyy,abbyy-cloud-ocr,Php,Html,Ocr,Abbyy,Abbyy Cloud Ocr,使用ABBYY提供的php示例,我已经能够将图像转换为文本。工作起来很有魅力。现在,我正尝试使用一个web界面在移动设备上拍摄照片,并将其发送到ABBYY ocr服务并返回结果文本。我的拍摄代码: <!doctype html> <html> <head> <title>Camera access on mobile web!</title> <meta name="viewport" co

使用ABBYY提供的php示例,我已经能够将图像转换为文本。工作起来很有魅力。现在,我正尝试使用一个web界面在移动设备上拍摄照片,并将其发送到ABBYY ocr服务并返回结果文本。我的拍摄代码:

<!doctype html>
<html>
    <head>
        <title>Camera access on mobile web!</title>
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
        <style type="text/css">
            #container {
                margin:0 auto;
                padding:0;
                width:200px;
            }
            div.message {
                background-color:green;
                border-radius:4px;
                color:white;
                display:none;
                padding:5px 0;
                text-align:center;
                width:100%;
            }
        </style>
    </head>
    <body>
        <div id="container">
            <img src="logo-mobile.png" id="lunchbox-logo" />
            <div class="message"><strong>Thanks for the submission!</strong></div>
            <p>Submit your receipt straight from your web browser!!</p>


            <form method="POST" enctype="multipart/form-data" action="http://cloud.ocrsdk.com/processImage?language=english&exportFormat=txt">
                <input type="file" accept="image/*" name="receipt[data]">
                <input type="button" onClick="submitReceipt();" value="Submit">    
            </form>
        </div>

        <script type="text/javascript">
            function submitReceipt(){
                var token = 'NEVER-COMMIT-TOKENS :)';
                var file = document.getElementsByName('receipt[data]')[0].files[0];

                fd = new FormData();
                fd.append('access_token', token);
                fd.append('receipt[data]', file);

                req = new XMLHttpRequest();
                req.open('POST', 'http://cloud.ocrsdk.com/processImage?language=english&exportFormat=txt');
                req.send(fd);

                document.getElementsByClassName('message')[0].style.display = "block";

            }  
        </script>
    </body>
</html>

移动网络上的摄像头访问!
#容器{
保证金:0自动;
填充:0;
宽度:200px;
}
分区信息{
背景颜色:绿色;
边界半径:4px;
颜色:白色;
显示:无;
填充:5px0;
文本对齐:居中;
宽度:100%;
}
感谢您的提交
直接从网络浏览器提交收据

函数submitReceipt(){ var-token='NEVER-COMMIT-TOKENS:)'; var file=document.getElementsByName('收据[数据])[0]。文件[0]; fd=新FormData(); fd.append('access_token',token); fd.append('收据[数据]',文件); req=新的XMLHttpRequest(); 请求打开('POST','http://cloud.ocrsdk.com/processImage?language=english&exportFormat=txt'); 请求发送(fd); document.getElementsByClassName('message')[0].style.display=“block”; }

两者都独立工作。我希望相机页面将图片提交给ABBYY,等待返回结果,然后显示它。我所有的尝试都打破了它。再次感谢。

您在这里无意中提交的是上传文件的文件名,而不是文件内容。现在有很多新奇的方法可以获取文件的内容,但是只需跳过您正在做的所有新奇的AJAX工作,删除
onClick
处理程序,然后正常提交表单就可以了。

如果有人想测试,云ocr的密码是pTcQRiQ2FQE3TNxD6+JkaKsE。帐户中没有多少信用卡,但我不想将其发布到pastebin。谢谢。OT:我只是想给这个项目一些道具。这可能对残疾人有帮助。有什么建议吗?删除
onClick
处理程序和相关的JavaScript。表单在没有它们的情况下应能正常运行。